红联Linux门户
Linux帮助

GCC的版本

发布时间:2008-02-02 00:17:07来源:红联作者:uxwoldsh
在shell的提示符号下键入gcc -v,屏幕上就会显示出你目前正在使用的GCC的版本。同时这也是一个相当可靠的方法,可以确定你现在所用的是ELF或是a.out。在我的系统上,执行gcc -v的结果是:

$ gcc -vReading specs from /usr/lib/gcc-lib/i486-box-linux/2.7.2/specsgcc version 2.7.2

上面的讯息指出了几件重要的事情:

i486 这是指明你现在正在用的gcc是为了486的微处理器而写的---你的电脑可能是386或是586。这3种微处理器的芯片所编译而成的程序代码,彼此间是可以兼容使用的。差别之处是486的程序代码在某些地方有加上padding的功能,所以可以在486上面跑得比较快。这对386的机器而言,执行程序的效能并不会有什么不良的影响,只不过真的会让程序代码变得稍稍的大了一些。

box 这可以说一点也不重要;不过也可能另有所指(像是slackware或者是debian),或者根本什么也不是(所以罗!完整的目录名称是i486-linux)。假如你是实务派的佼佼者,亲自动手建立属於自己的gcc,那么你可以在建立的过程中设定这一项,以装点门面。就像我做的一样。

linux 其实这是指linuxelf或是linuxaout。这一项会令人引起不必要的困惑,究竟是指哪一种会根据你所用的版本而异。

linux 意指ELF若版本序号是2.7.0.(或是更新的版本);否则的话,就是a.out的了。

linuxaout 意指a.out的格式。当linux的定义从a.out更换到ELF时,linuxaout就会顺水推舟,摇身一变,成了一个目标物。因此,你不会看到任何版本新於2.7.0.的gcc有linuxaout的。

linuxelf 已经过时了。通常这是指2.6.3版的gcc,而且这个版本也可以用来产生ELF的可执行档。要注意的是,gcc 2.6.3版在产生ELF程序代码时会有bugs,所以如果你目前用的恰好是这个版本,建议你赶快升级。

2.7.2 版本的序号。

所以,总结起来,我有2.7.2版的gcc,可以产生ELF格式的程序代码。就这么简单,惊讶吧!eh?
文章评论

共有 0 条评论