📄 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 + -