解讀任正非的新年公開信
談一談我在軟件開發(fā)中的最佳實(shí)踐
0.引言?軟件開發(fā)之路是充滿荊棘與挑戰(zhàn)之路,也是充滿希望之路。Java學(xué)習(xí)也是如此,沒有捷徑可走。夢想像《天龍八部》中虛竹一樣被無崖子醍醐灌頂而輕松獲得一甲子功力,是很不現(xiàn)實(shí)的。每天仰天大叫"天神啊,
Atitit attilax提出的軟件開發(fā)發(fā)展趨勢與概念1. 長期化 復(fù)用化 跨平臺 可移植性 12. 通用化 通用 化的渠道至少有3種 12.1. 模塊化 12.2. 標(biāo)準(zhǔn)化接口 12.3. 改造將
?????? ?前言:這是我在公司內(nèi)部的一個培訓(xùn),培訓(xùn)完之后特地整理成一篇文章。???????? 應(yīng)該說這是一個很大的題目,在這里我只是簡單談?wù)勎业囊恍┬牡皿w會,不當(dāng)之處,還請大家賜教。???????
本周工作中,我花了整整一周的時(shí)間來嘗試調(diào)試一個段錯誤。我以前從來沒有這樣做過,我花了很長時(shí)間才弄清楚其中涉及的一些基本事情(獲得核心轉(zhuǎn)儲、找到導(dǎo)致段錯誤的行號)。于是便有了這篇博客來解釋如何做那些事情! 在看完這篇博客后,你應(yīng)該知道如何從“哦,我的程序出現(xiàn)段錯誤,但我不知道正在發(fā)生什么”到“我知道它出現(xiàn)段錯誤時(shí)的堆棧、行號了! ”。
了解 Yocto、Buildroot、 OpenWRT,和改造過的桌面發(fā)行版以確定哪種方式最適合你的項(xiàng)目。
近日,谷歌已經(jīng)為其新興開源的 Fuchsia OS 添加了一個 Guest App,以使 Linux 應(yīng)用程序能夠在 Fuchsia 中作為虛擬機(jī)(VM)運(yùn)行。這個 Guest App 使用了一個叫作 Machina 的庫,相比傳統(tǒng)的模擬器,Guest App 與宿主操作系統(tǒng)的集成更加緊密。
Linux下各文件夾的結(jié)構(gòu)說明及用途介紹
Linux基本命令總結(jié)大全,有這個文章就夠了。
Linux 被部署到比 Linus Torvalds 在他的宿舍里開發(fā)時(shí)所預(yù)期的更廣泛的設(shè)備。令人震驚的支持了各種芯片,使得Linux 可以應(yīng)用于大大小小的設(shè)備上:從 IBM 的巨型機(jī)到不如其連接的端口大的微型設(shè)備,以及各種大小的設(shè)備。它被用于大型企業(yè)數(shù)據(jù)中心、互聯(lián)網(wǎng)基礎(chǔ)設(shè)施設(shè)備和個人的開發(fā)系統(tǒng)。它還為消費(fèi)類電子產(chǎn)品、移動電話和許多物聯(lián)網(wǎng)設(shè)備提供了動力。
Linux下面,目標(biāo)文件、共享對象文件、可執(zhí)行文件都是使用ELF文件格式來存儲的。程序經(jīng)過編譯之后會輸出目標(biāo)文件,然后經(jīng)過鏈接可以產(chǎn)生可執(zhí)行文件或者共享對象文件。linux下面使用的ELF文件和Windows操作系統(tǒng)使用的PE文件都是從Unix系統(tǒng)的COFF文件格式演化來的。
系統(tǒng)調(diào)用是應(yīng)用程序和操作系統(tǒng)內(nèi)核之間的功能接口。其主要目的是使得用戶可以使用操作系統(tǒng)提供的有關(guān)設(shè)備管理、輸入/輸入系統(tǒng)、文件系統(tǒng)和進(jìn)程控制、通信以及存儲管理等方面的功能,而不必了解系統(tǒng)程序的內(nèi)部結(jié)構(gòu)和有關(guān)硬件細(xì)節(jié),從而起到減輕用戶負(fù)擔(dān)和保護(hù)系統(tǒng)以及提高資源利用率的作用。
drivers中file_operations的mmap操作的作用是: 將設(shè)備驅(qū)動內(nèi)核空間的內(nèi)存映射到用戶空間里,可以通過用戶空間中的mmap系統(tǒng)調(diào)用代替系統(tǒng)調(diào)用write和read。目的是提高讀寫效率。
ALSA是Advanced Linux Sound Architecture 的縮寫,目前已經(jīng)成為了linux的主流音頻體系結(jié)構(gòu),想了解更多的關(guān)于ALSA的這一開源項(xiàng)目的信息和知識
部分軟件開發(fā)項(xiàng)目依靠結(jié)合代碼檢查、結(jié)構(gòu)測試和功能測試來識別軟件缺陷。盡管這些傳統(tǒng)技術(shù)非常重要,而且能發(fā)現(xiàn)大多數(shù)軟件問題,但它們無法檢查出當(dāng)今復(fù)雜系統(tǒng)中的許多共性錯誤。本文將介紹如何避免那些隱蔽然而常見的錯誤,并介紹的幾個技巧幫助工程師發(fā)現(xiàn)軟件中隱藏的錯誤。
一位81年,工作了10年一直從事軟件項(xiàng)目開發(fā), 加入過五家公司的軟件開發(fā)工程師的自述。
本文將介紹如何避免那些隱蔽然而常見的錯誤,并介紹的幾個技巧幫助工程師發(fā)現(xiàn)軟件中隱藏的錯誤。大部分軟件開發(fā)項(xiàng)目依靠結(jié)合代碼檢查、結(jié)構(gòu)測試和功能測試來識別軟件缺陷。
使用GNU的工具我們?nèi)绾卧贚inux下創(chuàng)建自己的程序函數(shù)庫?一個“程序函數(shù)庫”簡單的說就是一個文件包含了一些編譯好的代碼和數(shù)據(jù),這些編譯好的代碼和數(shù)據(jù)可以在事后供其他的程序使用。程序函數(shù)庫可以使整個程序更加模塊化,更容易重新編譯,而且更方便升級。