linux Development Tools 包括的軟件
2016-11-11 16:57:46
11019
編輯器:
vi:老牌編輯器,在各個(gè)unix和unix-like平臺(tái)都可以找到 。
emacs:GNU項(xiàng)目開發(fā)的編輯器,功能強(qiáng)大擴(kuò)展性強(qiáng),絕對(duì)不是一個(gè)編輯器那么簡(jiǎn)單 。
代碼打補(bǔ)丁工具:
diff & patch:一對(duì)好搭擋,diff用來(lái)生成代碼補(bǔ)丁,而patch則用來(lái)給代碼打補(bǔ)丁 。
項(xiàng)目構(gòu)建工具:
make(Makefile):常用的項(xiàng)目構(gòu)建工具,用一個(gè)Makefile就可以從整個(gè)項(xiàng)目的代碼中構(gòu)建各個(gè)目標(biāo) 。
autotool(包括Autoconf, Automake 和 Libtool):方便在項(xiàng)目中生成標(biāo)準(zhǔn)的Makefile,為許多自由和開源軟件項(xiàng)目所使用 。
版本控制工具:
cvs:老牌的版本控制工具,適用于集中式版本控制,為許多項(xiàng)目服務(wù)過(guò),現(xiàn)在略顯疲態(tài)
subversion:一個(gè)為了代替cvs而開發(fā)的工具,解決了cvs的一些詬病 。
GNU Arch:GNU項(xiàng)目開發(fā)?版本控制工具,屬于分布式版本控制工具 。
git:Linus Torvalds為內(nèi)核版本控制所開發(fā)的工具,當(dāng)然也適用于普通應(yīng)用程序,也屬于分布式版本控制工具 。
C庫(kù):
glibc:GNU項(xiàng)目開發(fā)的C庫(kù),很龐大和全面,是許多自由和開源軟件的基石。
uclibc:為嵌入式系統(tǒng)所開發(fā)的C庫(kù),比glibc小得多,但是對(duì)glibc保持很高的兼容,基于glibc的軟件很容易移植到uclibc上 。
newlib:另一個(gè)為嵌入式系統(tǒng)所開發(fā)的C庫(kù) 。
diet libc:同樣是為嵌入式系統(tǒng)所開發(fā)的C庫(kù) 。
二進(jìn)制和目標(biāo)文件處理工具:
binutils:GNU項(xiàng)目所開發(fā)的二進(jìn)制和目標(biāo)文件處理工具包,包括多種開發(fā)過(guò)程所需的工具:連接器、匯編器、一系列的二進(jìn)制和目標(biāo)文件處理工具還有一個(gè)性能分析器。
編譯器:
gcc:GNU
項(xiàng)目所開發(fā)的全能編譯器,它支持的語(yǔ)言包括C、C++、Objective-C、Fortran、Java和Ada,它支持的處理器包括i386、
MIPS、ARM、PowerPC、IA64等等,此外你還可以為它添加其他語(yǔ)言前端和其他處理器后端。gcc性能不俗,還支持交叉編譯,為這個(gè)星球;)
許多軟件項(xiàng)目所采用。
源代碼調(diào)試器:
gdb:GNU項(xiàng)目所開發(fā)的源代碼調(diào)試器,功能強(qiáng)大,是程序員的好助手 。
內(nèi)存管理檢查器:
valgrind:非常優(yōu)?的內(nèi)存檢查器,可以程序中的內(nèi)存錯(cuò)誤。另外還可以對(duì)cache的使用和堆(也可以包括棧)的使用進(jìn)行分析,能夠優(yōu)化代碼 。
調(diào)用跟蹤器:
strace:系統(tǒng)調(diào)用跟蹤器,可以跟蹤程序所調(diào)用的系統(tǒng)調(diào)用 。
ltrace:動(dòng)態(tài)庫(kù)調(diào)用跟蹤器,可以跟蹤程序所調(diào)用的動(dòng)態(tài)庫(kù)接口 。
性能分析器:
gprof:binutils中帶的性能分析器,可以優(yōu)化代碼,提高程序速度 。
qprof:另一個(gè)性能分析器,支持動(dòng)態(tài)庫(kù)的性能分析和多線程、多進(jìn)程性能分析
oprofile:一個(gè)系統(tǒng)范圍的性能分析器,使用?核模塊和一個(gè)后臺(tái)進(jìn)程進(jìn)行數(shù)據(jù)采集,不但可?獲得某個(gè)進(jìn)程的性能分析數(shù)據(jù)還可以獲得內(nèi)核的性能分析數(shù)據(jù)。