gcc egcs编译器带来的混乱

来源:互联网 发布:js函数创建表格 编辑:程序博客网 时间:2024/05/28 16:19

gcc egcs编译器带来的混乱:


  egcs1997—1999年曾经是gcc的一个分支,很多系统支持他(如:UltraSPARC、Irix6.2、PPC/RS6000等),unix、SunOS、Linux也都用它作为编译器。

  egcs刚开始被很多人看好,如:《Red Hat Linux 5.1安装指南》中这样介绍egcs:“人们正在积极开发这个编译器, 它(egcs)被认为是gcc 编译器之后新一代的编译器. 当然, 考虑到对编译器来说稳定是重要的, 我们也同时包含了gcc编译器. 您可以看到两个编译器所处的环境. )”

  但从下面gcc的历史可以看出egcs分支的时间很短,称呼也很乱,除了egcs1.0到egcs1.1.2外还有egcs2.91.66、egcs2.92.21之类的称呼,网上有资料说egcs2.91.66指gcs1.1.2,但GNU官方1998-11-20(gcs1.1.2还没有公布)的Linux/alpha SIGSEGV BUG报告(http://gcc.gnu.org/ml/gcc-bugs/1998-11/msg00619.html)中就使用了egcs2.92.21的称呼。
  egcs造成的混乱来源于gcc这段时间的开发混乱,人们一开始都把egcs作为下一代的gcc,但他很快就没有了,而是把egcs和gcc合并,且合并后仍然叫gcc。很多人回不过味来,《GNU/Linux编程指南》的作者都认为:“egcs和GCC从各方面看都是同一程序”,国内2006年的一些Linux认证考试指南中还有“gcc/egcs编译器祥解”的说法(http://www.examda.com/Linux/Instructs/060523/100149749-2.html)。特别是国内网站现在几乎还都把中兴的一个egcs1.1.2中文使用手册认为是gcc中文使用手册。英文网站也存在这个问题,有些网站gcc-2.95、gcc-2.96的手册也是egcs1.1.2的手册,如:
  http://amath.colorado.edu/computing/software/man/gcc.html。
  http://nixdoc.net/man-pages/Linux/man1/gcc-2.96.1.html
 


  如果egcs和gcc真的没有什么区别,这种混乱到也没有什么,初其量是个称呼问题,但是对比一下egcs1.1.2手册和gcc手册就会发现他们差很多,比如egcs-1.1.2没有“-s”这常用的链接器选项。感兴趣可以对比一下,仅链接器选项选项就差六项。这么大的差别就不仅仅是称呼问题了,对于初学者,如果不明这个事理,就可能被误人子弟,学不到真东东。



从GCC的版本历史看EGCS的位置, 看1998-1999年的那段:
===========================================
网址:http://gcc.gnu.org/releases.html

GCC 4.6.2     October 26, 2011
GCC 4.6.1     June 27, 2011
GCC 4.3.6     June 27, 2011
GCC 4.5.3     April 28, 2011
GCC 4.4.6     April 16, 2011
GCC 4.6.0     March 25, 2011
GCC 4.5.2     December 16, 2010
GCC 4.4.5     October 1, 2010
GCC 4.5.1     July 31, 2010
GCC 4.3.5     May 22, 2010
GCC 4.4.4     April 29, 2010
GCC 4.5.0     April 14, 2010
GCC 4.4.3     January 21, 2010
GCC 4.4.2     October 15, 2009
GCC 4.3.4     August 4, 2009
GCC 4.4.1     July 22, 2009
GCC 4.4.0     April 21, 2009
GCC 4.3.3     January 24, 2009
GCC 4.3.2     August 27, 2008
GCC 4.3.1     June 6, 2008
GCC 4.2.4     May 19, 2008
GCC 4.3.0     March 5, 2008
GCC 4.2.3     February 1, 2008
GCC 4.2.2     October 7, 2007
GCC 4.2.1     July 18, 2007
GCC 4.2.0     May 13, 2007
GCC 4.1.2     February 13, 2007
GCC 4.0.4     January 31, 2007
GCC 4.1.1     May 24, 2006
GCC 4.0.3     March 10, 2006
GCC 3.4.6     March 06, 2006
GCC 4.1.0     February 28, 2006
GCC 3.4.5     November 30, 2005
GCC 4.0.2     September 28, 2005
GCC 4.0.1     July 7, 2005
GCC 3.4.4     May 18, 2005
GCC 3.3.6     May 3, 2005
GCC 4.0.0     April 20, 2005
GCC 3.4.3     November 4, 2004
GCC 3.3.5     September 30, 2004
GCC 3.4.2     September 6, 2004
GCC 3.4.1     July 1, 2004
GCC 3.3.4     May 31, 2004
GCC 3.4.0     April 18, 2004
GCC 3.3.3     February 14, 2004
GCC 3.3.2     October 17, 2003
GCC 3.3.1     August 8, 2003
GCC 3.3     May 13, 2003
GCC 3.2.3     April 22, 2003
GCC 3.2.2     February 05, 2003
GCC 3.2.1     November 19, 2002
GCC 3.2     August 14, 2002
GCC 3.1.1     July 25, 2002
GCC 3.1     May 15, 2002
GCC 3.0.4     February 20, 2002
GCC 3.0.3     December 20, 2001
GCC 3.0.2     October 25, 2001
GCC 3.0.1     August 20, 2001
GCC 3.0     June 18, 2001
GCC 2.95.3     March 16, 2001
GCC 2.95.2     October 24, 1999
GCC 2.95.1     August 19, 1999
GCC 2.95     July 31, 1999
EGCS 1.1.2     March 15, 1999       (egcs-2.91.66) 也有叫“gcc egcs-2.91.66”
EGCS 1.1.1     December 1, 1998    也有的linux分支把他叫egcs2.92.21,很混乱
EGCS 1.1     September 3, 1998
EGCS 1.0.3     May 15, 1998
EGCS 1.0.2     March 16, 1998
gcc 2.8.1     March 2, 1998
gcc 2.8.0     January 7, 1998
EGCS 1.0.1     January 6, 1998
EGCS 1.0     December 3, 1997
2.7.2.3        August 22, 1997
2.7.2.2        January 29, 1997
2.7.2.1        June 29, 1996
2.7.2        November 26, 1995
2.7.1        November 12, 1995
2.7.0        June 16, 1995
2.6.3        November 30, 1994
2.6.2        November 12, 1994
2.6.1        November 1, 1994
2.6.0        July 14, 1994
2.5.8        January 24, 1994
2.5.7        December 12, 1993
2.5.6        December 3, 1993
2.5.5        November 27, 1993
2.5.4        November 16, 1993
2.5.3        November 11, 1993
2.5.2        November 1, 1993
2.5.1        October 31, 1993
2.5.0        October 22, 1993
2.4.5        June 20, 1993
2.4.4        June 19, 1993
2.4.3        June 1, 1993
2.4.2        May 31, 1993
2.4.1        May 26, 1993
2.4.0        May 17, 1993
2.3.3        December 26, 1992
2.3.2        November 27, 1992
2.3.1        November 1, 1992
2.3        October 31, 1992
2.2.2        June 14, 1992
2.2.1        June 9, 1992
2.2        June 8, 1992
2.1        March 24, 1992
2.0        February 22, 1992
1.42.0 (g++)    September 20, 1992
1.42        September 20, 1992
1.41        August 27, 1992
1.41.0 (g++)    July 13, 1992
1.40.3 (g++)    October 19, 1991
1.40        June 1, 1991
1.39.1 (g++)    May 4, 1991
1.39        January 16, 1991
1.38        December 21, 1990
1.37.1 (g++)    March 1, 1990
1.37.0 (g++)    February 28, 1990
1.37.1        February 21, 1990
1.37        February 11, 1990
1.36.4 (g++)    January 30, 1990
1.36.3 (g++)    January 16, 1990
1.36        September 24, 1989
1.35        April 26, 1989
1.34        February 23, 1989
1.33        February 1, 1989
1.32        December 21, 1988
1.31        November 19, 1988
1.30        October 13, 1988
1.29        October 6, 1988
1.28        September 14, 1988
1.27        September 5, 1988
1.26        August 18, 1988
1.25        August 3, 1988
1.24        July 2, 1988
1.23        June 26, 1988
1.22        May 22, 1988
1.21        May 1, 1988
1.20        April 19, 1988
1.19        March 29, 1988
1.18        February 4, 1988
1.17        January 9, 1988
1.16        December 19, 1987
1.15.3 (g++)    December 18, 1987
1.15        November 28, 1987
1.14        November 6, 1987
1.13        October 12, 1987
1.12        October 3, 1987
1.11        September 5, 1987 (announced late)
1.10        August 22, 1987
1.9        August 18, 1987 (never announced)
1.8        August 10, 1987
1.7        July 21, 1987
1.6        July 2, 1987
1.5        June 18, 1987
1.4        June 13, 1987
1.3        June 10, 1987
1.2        June 1, 1987
1.1        May 24, 1987
1.0        May 23, 1987
0.9 (first beta release)    March 22, 1987



原创粉丝点击