关于gcc/egcs/pgcc

Posted on 2012-02-12 17:31  无忧consume  阅读(1571)  评论(0编辑  收藏  举报

1. GCC 
  大名鼎鼎的GNU的C/C++/Obj-C编译器

  其基本结构就是一个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编译  

  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 

Copyright © 2024 无忧consume
Powered by .NET 9.0 on Kubernetes