1.GCC
大名鼎鼎的GNU的C/C++/Obj-C編譯器,目前的版本是2.8.1,但據說與2.7.*有相容性問題. 而使用較廣的是gcc2.7.2系列,如RedHat5中帶的就是gcc2.7.2.3
有時候在Cyrix上用gcc會有些問題,因此有一套針對Cyrix特點的gcc2.7.2.3
我這裡有RedHat5的rpm ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib(Cyrix2.7.2.3&2.8.1)
其基本結構就是一個frontend和backend,
/usr/bin/gcc就是個frontend,其kernel東西都放在/usr/lib/gcc-lib下面,cpp是C前置處理器,cc1*的1M多的就是編譯器的核心模組了cc1Ccompiler
cc1plusC++compiler
cc1objObject-Ccompiler
但gcc並沒有整合Fortran的compiler,一般要用f2c轉成C後才用gcc編譯好象也還有個g77Fortrancompiler吧?
gcc的不斷髮展完善使許多commercialcompiler都相形見絀,那當然,gcc/emacs都由GNU創始人RichardStallman手創,是GNU的旗艦產品,品質當然沒得說了:-)
由於Unix平台的高度可移植性,gcc幾乎在各種常見的Unix平台上都有,即使是Win32/DOS也有gcc的port.比如說該死的Solaris普通版本連compiler都沒有,也就只好用gcc了...
2.EGCS(Experimental/EnhancedGNUCompilerSystem)
這是gcc的發展方向,把fortran等編譯器整合進來,也許還會有Pascal?它的構造很清晰,把對gcc的各種改進/port都整合回去.如 gcc2.7系列據說是沒有對Pentium進行最佳化的,而egcs則把pgcc對Pentium的一些最佳化整合進去了現在gcc的開發工作主要就是 egcs,由Cygnus公司領導(?),這Cygnus公司還是很不錯的,還出了GNU-Win32,SourceNavigator等,是GNU的堅實擁護者:-))
http://egcs.cygnus.com
包括了C/C++/Obj-C/Fortran編譯器,當前最新版本1.0.2,還在不斷開發中.昨天download發現KDEBeta4都用egcs編譯了:-)
Fortran整合進來後在/usr/lib/gcc-lib下又多了個f771的backend,當然還是g77/f77編譯
我這裡有egcs1.0.2的rpm在RH5-CD/collect下面
3.PGCC(PentiumGCC)
http://www.gcc.ml.org
針對PentiumCPU進行了編譯器最佳化的compiler
pgcc據說用JPEG壓縮解壓縮測試最快可比gcc快30%!
新版的pgcc都是基於egcs的,以一個patch的形式releas