精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>Solaris>>关于gcc/egcs/pgcc

主题:关于gcc/egcs/pgcc
发信人: hlzhan(Unfair)
整理人: hlzhan(2001-11-19 21:59:19), 站内信件
本文出自:BBS 水木清华站 作者: raner (2001-11-16 07:08:00) 
整理了一下现在free的编译器, 因为我原来也搞不懂它们之间的关系 :-) 
欢迎各位网友补充, 完善.... 

1. GCC 
大名鼎鼎的GNU的C/C++/Obj-C编译器, 当前版本是2.8.1, 但据说与2.7.*有兼容性 
问题. 而使用较广的是gcc 2.7.2系列, 如RedHat5中带的就是gcc 2.7.2.3 
有时候在Cyrix上用gcc会有些问题, 因此有一套针对Cyrix特点的gcc 2.7.2.3 
我这里有RedHat5的rpms ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib 
(Cyrix 2.7.2.3 & 2.8.1) 

其基本结构就是一个front end和back end, 
/usr/bin/gcc 就是个front end, 其kernel东西都放在 /usr/lib/gcc-lib下面, 
cpp是C预处理器, cc1*的1M多的就是编译器的核心模块了 
cc1 C compiler 
cc1plus C++ compiler 
cc1obj Object-C compiler 
但gcc并没有集成Fortran的compiler, 一般要用f2c转成C后才用gcc编译 
好象也还有个g77 Fortran compiler吧? 

gcc的不断发展完善使许多commercial compiler都相形见绌, 那当然, gcc/emacs 
都由GNU创始人Richard Stallman手创, 是GNU的旗舰产品, 质量当然没得说了:-) 
由于 Unix平台的高度可移植性, gcc几乎在各种常见的Unix平台上都有, 即使是 
Win32/DOS也有gcc的port. 比如说该死的Solaris普通版本连compiler都没有, 也 
就只好用gcc了... 

2. EGCS(Experimental/Enhanced GNU Compiler System) 
这是gcc的发展方向, 把fortran等编译器集成进来, 也许还会有Pascal? 
它的构造很清晰, 把对gcc的各种改进/port都集成回去. 如gcc 2.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发现KDE Beta4都用egcs编译了 :-) 

Fortran集成进来后在/usr/lib/gcc-lib下又多了个f771的back end, 当然 
还是g77/f77 编译 
我这里有egcs 1.0.2 的rpm 在RH5-CD/collect下面 

3. PGCC(Pentium GCC) 
http://www.gcc.ml.org 
针对Pentium CPU进行了编译器优化的compiler 
pgcc据说用JPEG压缩解压缩测试最快可比gcc快 30%! 
新版的pgcc都是基于egcs的, 以一个patch的形式release 

我这里有pgcc 1.0.1的rpm, 在Warez-CD/Hurricane-contrib中, 还有个 
pgcc 1.0.2 to egcs 1.0.2的patch, 想用的自己试验一下吧 

注:好象新出了个Linux发行版,用PGCC来重新编译所有的软件包括内核,不知能快多少。 
关于原代码及版本控制的软件主要有 
SCCS(Source Code Control System) 
CSSC是SCCS的GPLed克隆。 
RCS(Revision Control System) 
CVS 在Redhat 5.1里已经带了。 
前面提到的SourceNavigator也不错。 
而PRCS及jCVS(java写的)都是很好的前端软件。 
(http://www.fanqiang.com)     进入【UNIX论坛】  
 



----
我们由于聪明而变得狡猾
由于狡猾而丧失勇气
由于丧失勇气而变得猥琐
     

[关闭][返回]