?? gcc中文手冊2.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0036)http://21ic.com/news/n5203c79p2.aspx -->
<HTML lang=gb2312 xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>GCC 中文手冊 - 21IC中國電子網</TITLE>
<META http-equiv=content-type content=text/html;charset=gb2312><LINK
href="favicon.ico" type=image/x-icon rel=icon><LINK href="favicon.ico"
type=image/x-icon rel="shortcut icon">
<META content="GCC 中文手冊" name=description>
<META content=21IC.com name=keywords><LINK href="GCC中文手冊2.files/style.css"
type=text/css rel=stylesheet>
<SCRIPT src="GCC中文手冊2.files/flash.js" type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript>
var thumbWidth=120;var thumbHeight=0;
var thumbHWidth=thumbWidth;var thumbHHeight=thumbHeight;
</SCRIPT>
<SCRIPT src="GCC中文手冊2.files/thumbnail.js" type=text/javascript></SCRIPT>
<SCRIPT language=javaScript src="GCC中文手冊2.files/scroll.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javaScript src="GCC中文手冊2.files/imgResize.js"
type=text/javascript></SCRIPT>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY><SPAN id=printScript>
<SCRIPT language=javascript type=text/javascript>
<!--
function ContentSize(size)
{
var obj=document.all.BodyLabel;
obj.style.fontSize=size+"px";
}
-->
</SCRIPT>
</SPAN>
<SCRIPT language=javascript src="GCC中文手冊2.files/print.js"
type=text/javascript></SCRIPT>
<TABLE id=navbar cellSpacing=0 cellPadding=0 align=center>
<TBODY>
<TR>
<TD class=l></TD>
<TD class=m>
<SCRIPT language=javascript1.2 src="GCC中文手冊2.files/popmenu.js"
type=text/javascript></SCRIPT>
<SPAN id=dlSortNav><SPAN><A href="http://21ic.com/">首頁</A>
</SPAN><SPAN><IMG alt="" src="GCC中文手冊2.files/navbar_separator.gif"
align=absMiddle> </SPAN><SPAN><A
href="http://21ic.com/news/c8.aspx">新聞</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,29,1,false) onmouseout=delayhidemenu()
href="http://21ic.com/news/c29.aspx">應用</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,26,1,false) onmouseout=delayhidemenu()
href="http://21ic.com/news/c26.aspx">新品</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,27,1,false) onmouseout=delayhidemenu()
href="http://21ic.com/news/c27.aspx">市場</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,28,1,false) onmouseout=delayhidemenu()
href="http://21ic.com/news/c28.aspx">專訪</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,5,1,false) onmouseout=delayhidemenu()
href="http://job.21ic.com/">人才</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,62,1,false) onmouseout=delayhidemenu()
href="http://21ic.com/news/c62.aspx">下載</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,2,1,false) onmouseout=delayhidemenu()
href="http://21icsearch.com/">資料(PDF)</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,31,1,false) onmouseout=delayhidemenu()
href="http://21ic.com/news/c31.aspx">活動</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,30,1,false) onmouseout=delayhidemenu()
href="http://21ic.com/news/c30.aspx">站內</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,7,1,false) onmouseout=delayhidemenu()
href="http://21ic.com/news/c7.aspx">廠商</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
href="http://kucun.21ic.com/">庫存</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
onmouseover=showmenu(event,4,1,false) onmouseout=delayhidemenu()
href="http://shop.21ic.com/">商店</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手冊2.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
href="http://21icbbs.com/">社區</A> </SPAN></SPAN></TD>
<TD class=r></TD></TR></TBODY></TABLE>
<TABLE id=navsub cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD class=l></TD>
<TD class=m> <A
href="http://21ic.com/news/default.aspx">21IC中國電子網</A> → <A
href="http://21ic.com/news/c62.aspx">下載</A> → <A
href="http://21ic.com/news/c79.aspx">嵌入式系統</A> </TD>
<TD class=r></TD></TR></TBODY></TABLE>
<DIV class=mframe>
<TABLE cellSpacing=0 cellPadding=0 width="100%">
<TBODY>
<TR>
<TD class=tl></TD>
<TD class=tm><SPAN class=tt>詳文</SPAN> </TD>
<TD class=tr></TD></TR></TBODY></TABLE>
<DIV id=printBody>
<TABLE id=middle
style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all; TEXT-ALIGN: left"
cellSpacing=0 cellPadding=0 align=center>
<TBODY>
<TR>
<TD class=ml></TD>
<TD class=mm vAlign=top><BR>
<DIV align=center>
<H1 class=aTitle>GCC 中文手冊</H1></DIV>
<TABLE width="97%" align=center>
<TBODY>
<TR>
<TD width=120>[日期:<SPAN id=TimeLabel>2005-1-3</SPAN>]</TD>
<TD align=middle>來源:<SPAN id=SourceLabel>21icbbs</SPAN>
作者:<SPAN id=AuthorLabel>徐明</SPAN></TD>
<TD align=right width=100>[字體:<A
href="javascript:ContentSize(16)">大</A> <A
href="javascript:ContentSize(14)">中</A> <A
href="javascript:ContentSize(12)">小</A>] </TD></TR></TBODY></TABLE>
<DIV class=content id=BodyLabel
style="PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px">
<P>-Wparentheses <BR>在某些情況下如果忽略了括號,編譯器就發出警告. <BR><BR>-Wtemplate-debugging
<BR>當在C++程序中使用template的時候,如果調試(debugging)沒有完全生效,編譯器就發出警告. (僅用于C++).
<BR><BR>-Wall <BR>結合所有上述的`-W'選項.通常我們建議避免這些被警告的用法,我們相信,恰當結合宏的使用能夠 輕易避免這些用法。
<BR><BR>剩下的`-W...'選項不包括在`-Wall'中,因為我們認為在必要情況下,這些被編譯器警告
的程序結構,可以合理的用在"干凈的"程序中. <BR><BR><BR>-Wtraditional <BR>如果某些程序結構在傳統C中的表現和ANSI
C不同,編譯器就發出警告. <BR><BR> *
<BR>宏參出現在宏體的字符串常量內部.傳統C會替換宏參,而ANSI C則視其為常量的一部分.
<BR><BR> * <BR>某個函數在塊(block)中聲明為外部,但在塊結束后才調用.
<BR><BR> * <BR>switch語句的操作數類型是long. <BR><BR><BR>-Wshadow
<BR>一旦某個局部變量屏蔽了另一個局部變量,編譯器就發出警告. <BR><BR>-Wid-clash-len
<BR>一旦兩個確定的標識符具有相同的前len個字符,編譯器就發出警告.他可以協助你開發一些將要在某些 過時的,危害大腦的編譯器上編譯的程序.
<BR><BR>-Wpointer-arith <BR>任何語句如果依賴于函數類型的大小(size)或者void類型的大小,編譯器就發出警告.
GNU C為了 便于計算void *指針和函數指針,就把這些類型的大小定義為1. <BR><BR>-Wcast-qual
<BR>一旦某個指針強制類型轉換以便移除類型修飾符時,編譯器就發出警告.例如,如果把const char * 強制轉換為普通的char
*時,警告就會出現. <BR><BR>-Wcast-align
<BR>一旦某個指針類型強制轉換時,導致目標所需的地址對齊(alignment)增加,編譯器就發出警告.例如,某些機器上
只能在2或4字節邊界上訪問整數,如果在這種機型上把char *強制轉換成int *類型, 編譯器就發出警告.
<BR><BR>-Wwrite-strings <BR>規定字符串常量的類型是const char[length],因此,把這樣的地址復制給
non-const char *指針將產生警告.這些警告能夠幫助你在編譯期間發現企圖寫入字符串常量
的代碼,但是你必須非常仔細的在聲明和原形中使用const,否則他們只能帶來麻煩;所以我們沒有讓 `-Wall'提供這些警告.
<BR><BR>-Wconversion
<BR>如果某函數原形導致的類型轉換和無函數原形時的類型轉換不同,編譯器就發出警告.這里包括定點數和浮點數的
互相轉換,改變定點數的寬度或符號,除非他們和缺省聲明(default promotion)相同.
<BR><BR>-Waggregate-return <BR>如果定義或調用了返回結構或聯合的函數,編譯器就發出警告.
(從語言角度你可以返回一個數組,然而同樣會 導致警告.) <BR><BR>-Wstrict-prototypes
<BR>如果函數的聲明或定義沒有指出參數類型,編譯器就發出警告. (如果函數的前向引用說明指出了參數類型,則允許后面
使用舊式風格的函數定義,而不會產生警告.) <BR><BR>-Wmissing-prototypes
<BR>如果沒有預先聲明函數原形就定義了全局函數,編譯器就發出警告.即使函數定義自身提供了函數原形也會產生這個警告.
他的目的是檢查沒有在頭文件中聲明的全局函數. <BR><BR>-Wmissing-declarations
<BR>如果沒有預先聲明就定義了全局函數,編譯器就發出警告.即使函數定義自身提供了函數原形也會產生這個警告.這個選項
的目的是檢查沒有在頭文件中聲明的全局函數. <BR><BR>-Wredundant-decls
<BR>如果在同一個可見域某定義多次聲明,編譯器就發出警告,即使這些重復聲明有效并且毫無差別. <BR><BR>-Wnested-externs
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -