?? [ 永遠的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 + -