program-c-compiler.html

来自「学习linux的工具书」· HTML 代码 · 共 76 行

HTML
76
字号
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
   <meta name="Author" content="Edward Fu">
   <meta name="GENERATOR" content="Mozilla/4.05 [zh-CN] (X11; I; Linux 2.1.127 i686) [Netscape]">
   <title>Freesoft Linux FAQ -- 关于gcc/egcs/pgcc</title>
</head>
<body>
发信人: raner (毕设好无聊呀!), 信区:
Linux
<br>标&nbsp; 题: 关于gcc/egcs/pgcc
<br>发信站: BBS 水木清华站 (Tue Apr 21 10:25:08 1998)
<p>&nbsp;整理了一下现在free的编译器, 因为我原来也搞不懂它们之间的关系 :-)
<br>&nbsp;欢迎各位网友补充, 完善....
<p>&nbsp;1. GCC
<br>&nbsp;&nbsp; 大名鼎鼎的<a href="http://www.gnu.org">GNU</a>的C/C++/Obj-C编译器,
当前版本是2.8.1, 但据说与2.7.*有兼容性
<br>&nbsp;&nbsp; 问题. 而使用较广的是gcc 2.7.2系列, 如RedHat5中带的就是gcc
2.7.2.3
<br>&nbsp;&nbsp; 有时候在Cyrix上用gcc会有些问题, 因此有一套针对Cyrix特点的gcc
2.7.2.3
<br>&nbsp;&nbsp; 我这里有RedHat5的rpms&nbsp; ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib
<br>&nbsp;&nbsp; (Cyrix 2.7.2.3 &amp; 2.8.1)
<p>&nbsp;&nbsp; 其基本结构就是一个front end和back end,
<br>&nbsp;&nbsp; /usr/bin/gcc 就是个front end, 其kernel东西都放在&nbsp;
/usr/lib/gcc-lib下面,
<br>&nbsp;&nbsp; cpp是C预处理器, cc1*的1M多的就是编译器的核心模块了
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cc1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C
compiler
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cc1plus&nbsp; C++ compiler
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cc1obj&nbsp;&nbsp; Object-C compiler
<br>&nbsp;&nbsp; 但gcc并没有集成Fortran的compiler, 一般要用f2c转成C后才用gcc编译
<br>&nbsp;&nbsp; 好象也还有个g77 Fortran compiler吧?
<p>&nbsp;&nbsp; gcc的不断发展完善使许多commercial compiler都相形见绌, 那当然,
gcc/emacs
<br>&nbsp;&nbsp; 都由GNU创始人Richard Stallman手创, 是GNU的旗舰产品, 质量当然没得说了:-)
<br>&nbsp;&nbsp; 由于 Unix平台的高度可移植性, gcc几乎在各种常见的Unix平台上都有,
即使是
<br>&nbsp;&nbsp; Win32/DOS也有gcc的port. 比如说该死的Solaris普通版本连compiler都没有,
<br>&nbsp;&nbsp; 就只好用gcc了...
<p>&nbsp;2. EGCS(Experimental/Enhanced GNU Compiler System)
<br>&nbsp;&nbsp; 这是gcc的发展方向, 把fortran等编译器集成进来, 也许还会有Pascal?
<br>&nbsp;&nbsp; 它的构造很清晰, 把对gcc的各种改进/port都集成回去. 如gcc
2.7系列据说是
<br>&nbsp;&nbsp; 没有对Pentium进行优化的, 而egcs则把pgcc对Pentium的一些优化集成进去了
<br>&nbsp;&nbsp; 现在gcc的开发工作主要就是egcs, 由Cygnus公司领导(?), 这Cygnus公司还是很
<br>&nbsp;&nbsp; 不错的, 还出了GNU-Win32, SourceNavigator等, 是GNU的坚实拥护者:-))
<p>&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.cygnus.com/egcs/">http://egcs.cygnus.com</a>
<p>&nbsp;&nbsp; 包括了C/C++/Obj-C/Fortran 编译器, 当前最新版本1.0.2, 还在不断开发中
<br>&nbsp;&nbsp; 昨天download发现KDE Beta4都用egcs编译了 :-)
<p>&nbsp;&nbsp; Fortran集成进来后在/usr/lib/gcc-lib下又多了个f771的back
end, 当然
<br>&nbsp;&nbsp; 还是g77/f77 编译
<br>&nbsp;&nbsp; 我这里有egcs 1.0.2 的rpm 在RH5-CD/collect下面
<p>&nbsp;3. <a href="http://www.goof.com/pcg/">PGCC</a>(Pentium GCC)
<br>&nbsp;&nbsp; <a href="http://www.gcc.ml.org">http://www.gcc.ml.org</a>
<br>&nbsp;&nbsp; 针对Pentium CPU进行了编译器优化的compiler
<br>&nbsp;&nbsp; pgcc据说用JPEG压缩解压缩测试最快可比gcc快 30%!
<br>&nbsp;&nbsp; 新版的pgcc都是基于egcs的, 以一个patch的形式release
<p>&nbsp;&nbsp; 我这里有pgcc 1.0.1的rpm, 在Warez-CD/Hurricane-contrib中,
还有个
<br>&nbsp;&nbsp; pgcc 1.0.2 to egcs 1.0.2的patch, 想用的自己试验一下吧
<p>注:好象新出了个Linux发行版,用PGCC来重新编译所有的软件包括内核,不知能快多少。
<br>关于原代码及版本控制的软件主要有
<br>SCCS(Source Code Control System)
<br><a href="http://www.free-lunch.demon.co.uk/CSSC/">CSSC</a>是SCCS的GPLed克隆。
<br>RCS(Revision Control System)
<br><a href="http://www.cyclic.com/">CVS</a> 在Redhat 5.1里已经带了。
<br>前面提到的SourceNavigator也不错。
<br>而<a href="http://www.xcf.berkeley.edu/~jmacd/prcs.html">PRCS</a>及<a href="http://www.ice.com/java/jcvs/">jCVS</a>(java写的)都是很好的前端软件。
<br>&nbsp;
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?