📄 [ 永远的unix gcc howto中译版v0_2 --- 3_ gcc的安装与gcc的设定 ].htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0053)http://www.fanqiang.com/a1/b5/20010622/081000630.html -->
<HTML><HEAD><TITLE>[ 永远的UNIX > GCC HOWTO中译版V0.2 --- 3. GCC的安装与GCC的设定 ]</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>BODY {
FONT: 12pt 宋体
}
TH {
FONT: 12pt 宋体
}
INPUT {
FONT: 12pt 宋体
}
SELECT {
FONT: 12pt 宋体
}
TEXTAREA {
FONT: 12pt 宋体
}
SELECT {
FONT: 12pt 宋体
}
checkbox {
FONT: 12pt 宋体
}
A:link {
COLOR: #e6a306; TEXT-DECORATION: underline
}
A:visited {
COLOR: #e6a306; TEXT-DECORATION: underline
}
A:hover {
COLOR: #ffff00; TEXT-DECORATION: underline
}
BODY {
FONT-SIZE: 12pt; FONT-FAMILY: "宋体", "serif"
}
TD {
FONT-SIZE: 12pt; FONT-FAMILY: "宋体", "serif"
}
P {
FONT-SIZE: 9pt; LINE-HEIGHT: 150%
}
</STYLE>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY text=#ffffff bgColor=#000000
background="[ 永远的UNIX GCC HOWTO中译版V0_2 --- 3_ GCC的安装与GCC的设定 ].files/bline.gif">
<DIV align=center>
<CENTER>
<TABLE height=400 cellSpacing=0 cellPadding=0 width=750 border=0>
<TBODY>
<TR>
<TD height=45>
<P align=center><IMG alt="[ 永远的UNIX::UNIX技术资料的宝库 ]"
src="[ 永远的UNIX GCC HOWTO中译版V0_2 --- 3_ GCC的安装与GCC的设定 ].files/title.gif"></P></TD></TR>
<TR>
<TR>
<TD vAlign=bottom align=left height=40><SMALL><A
href="http://www.fanqiang.com/">首页</A> > 系统管理 > 其它 >
正文</SMALL></TD></TR>
<TR>
<TD width="100%" bgColor=#d09f0d colSpan=5 height=2><IMG height=1
src="[ 永远的UNIX GCC HOWTO中译版V0_2 --- 3_ GCC的安装与GCC的设定 ].files/c.gif"
width=1></TD></TR>
<TR>
<TD vAlign=center align=middle height=40><FONT size=5><B>GCC HOWTO中译版V0.2
--- 3. GCC的安装与GCC的设定</B></FONT></TD></TR>
<TR>
<TD align=middle height=20><FONT color=#999999><SMALL>本文出自: 译者: 陈建勋
(2001-06-22 08:10:00)</SMALL></FONT></TD></TR>
<TR>
<TD align=middle>
<TABLE cellSpacing=0 cellPadding=0 width=700 align=center border=0>
<TBODY>
<TR>
<TD vAlign=top><FONT color=#cccccc><!--HTML_BEGIN--><FONT
color=#ccccff><B><FONT face=宋体><A name=index.14></A><A
name=index.13></A><A name=index.12></A><A name=ss3.1>3.1 GCC的版本</A>
</FONT></B></FONT>
<H2></H2>
<P><B><FONT face=宋体>在shell的提示符号下键入<CODE>gcc
-v</CODE>,萤幕上就会显示出你目前正在使用的GCC的版本。同时这也是一个相当可靠的方法,可以确定你现在所用的是ELF或是a.out。在我的系统上,执行gcc
-v的结果是: </FONT></B>
<P>
<BLOCKQUOTE><CODE><PRE><B><FONT face=宋体>
$ gcc -v
Reading specs from /usr/lib/gcc-lib/i486-box-linux/2.7.2/specs
gcc version 2.7.2
</FONT></B></PRE></CODE></BLOCKQUOTE>
<P>
<P><B><FONT face=宋体>上面的讯息指出了几件重要的事情: </FONT></B>
<UL>
<LI><B><FONT face=宋体><CODE>i486</CODE>
这是指明你现在正在用的gcc是为了486的微处理器而写的---你的电脑可能是386或是586。这3种微处理器的晶片所编译而成的程式码,彼此间是可以相容使用的。差别之处是486的程式码在某些地方有加上padding的功能,所以可以在486上面跑得比较快。这对386的机器而言,执行程式的效能并不会有什麽不良的影响,只不过真的会让程式码变得稍稍的大了一些。
</FONT></B>
<LI><B><FONT face=宋体><CODE>box</CODE>
这可以说一点也<EM>不</EM>重要;不过也可能另有所指(像是<CODE>slackware</CODE>或者是<CODE>debian</CODE>),或者根本什麽也不是(所以罗!完整的目录名称是<CODE>i486-linux</CODE>)。假如你是实务派的佼佼者,亲自动手建立属於自己的gcc,那麽你可以在建立的过程中设定这一项,以装点门面。就像我做的一样<CODE>:-)</CODE>。
</FONT></B>
<LI><B><FONT face=宋体><CODE>linux</CODE>
其实这是指<CODE>linuxelf</CODE>或是<CODE>linuxaout</CODE>。这一项会令人引起不必要的困惑,究竟是指哪一种会根据你所用的版本而异。
</FONT></B>
<UL>
<LI><B><FONT face=宋体><CODE>linux</CODE>
意指ELF若版本序号是2.7.0.(或是更新的版本);否则的话,就是a.out的了。 </FONT></B>
<LI><B><FONT face=宋体><CODE>linuxaout</CODE>
意指a.out的格式。当<CODE>linux</CODE>的定义从a.out更换到ELF时,linuxaout就会顺水推舟,摇身一变,成了一个目标物。因此,你不会看到任何版本新於2.7.0.的gcc有linuxaout的。
<A name=index.15></A></FONT></B>
<LI><B><FONT face=宋体><CODE>linuxelf</CODE>
已经过时了。通常这是指2.6.3版的gcc,而且这个版本也可以用来产生ELF的可执行档。要注意的是,gcc
2.6.3版在产生ELF程式码时会有bugs,所以如果你目前用的恰好是这个版本,建议你赶快升级。
</FONT></B></LI></UL>
<LI><B><FONT face=宋体><CODE>2.7.2</CODE> 版本的序号。</FONT></B> </LI></UL>
<P><B><FONT face=宋体>所以,总结起来,我有2.7.2版的gcc,可以产生ELF格式的程式码。就这麽简单,惊讶吧!eh?
</FONT></B>
<P>
<H2><FONT color=#ccccff><B><FONT face=宋体><A name=ss3.2>3.2
东东装好後都到哪儿去了?</A> </FONT></B></FONT></H2>
<P><B><FONT
face=宋体>如果安装gcc时没有仔细的看著萤幕,或者你是从一个完整的发行系统里把gcc单独抓出来安装的话,那麽也许你会想知道到底这些东东装好後是住在整个档案系统的那些地方。几个重点如下:
</FONT></B>
<P>
<UL>
<LI><B><FONT
face=宋体><CODE>/usr/lib/gcc-lib/</CODE><EM>target</EM><CODE>/</CODE><EM>version</EM><CODE>/</CODE>
(与子目录)大部份的编译器就是住在这个地方的。在这儿有可执行的程式,实际在做编译的工作;另外,还有一些特定版本的程式库与标头档等也会储存在此。
</FONT></B>
<LI><B><FONT face=宋体><CODE>/usr/bin/gcc</CODE>
指的是编译器的驱动程式---也就是你实际在命令列(command
line)上执行的程式。这个目录可供各种版本的gcc使用,只要你用不同的编译器目录(如上所述)来安装就可以了。要知道内定的版本是那一个,在shell提示符号下打<CODE>gcc
-v</CODE>。要是想强迫执行某个版本,就换打<CODE>gcc -V </CODE><EM>version</EM>。例如:
</FONT></B>
<BLOCKQUOTE><CODE><PRE><B><FONT face=宋体>
# gcc -v
Reading specs from /usr/lib/gcc-lib/i486-box-linux/2.7.2/specs
gcc version 2.7.2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -