📄 gcc中文手册3.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/n5203c79p3.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中文手册3.files/style.css"
type=text/css rel=stylesheet>
<SCRIPT src="GCC中文手册3.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中文手册3.files/thumbnail.js" type=text/javascript></SCRIPT>
<SCRIPT language=javaScript src="GCC中文手册3.files/scroll.js"
type=text/javascript></SCRIPT>
<SCRIPT language=javaScript src="GCC中文手册3.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中文手册3.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中文手册3.files/popmenu.js"
type=text/javascript></SCRIPT>
<SPAN id=dlSortNav><SPAN><A href="http://21ic.com/">首页</A>
</SPAN><SPAN><IMG alt="" src="GCC中文手册3.files/navbar_separator.gif"
align=absMiddle> </SPAN><SPAN><A
href="http://21ic.com/news/c8.aspx">新闻</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手册3.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中文手册3.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中文手册3.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中文手册3.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中文手册3.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中文手册3.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中文手册3.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中文手册3.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中文手册3.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中文手册3.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中文手册3.files/navbar_separator.gif" align=absMiddle> </SPAN><SPAN><A
href="http://kucun.21ic.com/">库存</A> </SPAN><SPAN><IMG alt=""
src="GCC中文手册3.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中文手册3.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>-msvr4 <BR><BR>-msvr3 <BR>打开(`-msvr4')或关闭(`-msvr3')和System
V第四版(SVr4)相关的 编译器扩展.效果如下: <BR> *
<BR>输出哪种汇编语法(你可以使用`-mversion-03.00'选项单独选择). <BR> *
<BR>`-msvr4'使C预处理器识别`#pragma weak'指令 <BR> *
<BR>`-msvr4'使GCC输出额外的声明指令(declaration directive),用于SVr4. <BR>除了SVr4配置,
`-msvr3'是所有m88K配置的默认选项. <BR><BR><BR>-mtrap-large-shift
<BR>-mhandle-large-shift
<BR>包含一些指令,用于检测大于31位的位移(bit-shift);根据相应的选项,对这样的位移发出自陷
(trap)或执行适当的处理代码.默认情况下, GCC对大位移不做特别处理. <BR><BR>-muse-div-instruction
<BR>很早以前的88K型号没有(div)除法指令,因此默认情况下GCC避免产生这条指令.而这个选项告诉GCC该指令是 安全的.
<BR><BR>-mversion-03.00 <BR>在DG/UX配置中存在两种风格的SVr4.这个选项修改-msvr4
,选择hybrid-COFF或 real-ELF风格.其他配置均忽略该选项. <BR><BR>-mwarn-passed-structs
<BR>如果某个函数把结构当做参数或结果传递, GCC发出警告.随着C语言的发展,人们已经改变了传递结构的约定, 它往往导致移植问题.默认情况下,
GCC不会发出警告. <BR><BR>下面的选项用于<A title=IBM href="http://ibm.com/">IBM</A>
RS6000: <BR><BR>-mfp-in-toc <BR><BR>-mno-fp-in-toc
<BR>控制是否把浮点常量放到内容表(TOC)中,内容表存放所有的全局变量和函数地址.默认情况下, GCC把浮点常量放到 这里;如果TOC溢出,
`-mno-fp-in-toc'选项能够减少TOC的大小,这样就可以避免溢出. <BR><BR>下面的`-m'选项用于<A title=IBM
href="http://ibm.com/">IBM</A> RT PC: <BR><BR>-min-line-mul
<BR>对于整数乘法使用嵌入代码.这是默认选项. <BR>-mcall-lib-mul <BR>对于整数乘法使用lmul$$ .
<BR>-mfull-fp-blocks <BR>生成全尺寸浮点数据块,包括<A title=IBM
href="http://ibm.com/">IBM</A>建议的最少数量的活动空间(scratch space).这是默认选项.
<BR>-mminimum-fp-blocks
<BR>不要在浮点数据块中包括额外的活动空间.这样就产生较小但是略慢的可执行程序,因为活动空间必须动态分配.
<BR>-mfp-arg-in-fpregs <BR>采用不兼容<A title=IBM
href="http://ibm.com/">IBM</A>调用约定的调用序列,通过浮点寄存器传送浮点参数.注意,如果指定了这个选项,
varargs.h和stdargs.h将无法支持浮点单元. <BR><BR>-mfp-arg-in-gregs
<BR>使用正常的调用约定处理浮点参数.这是默认选项. <BR><BR>-mhc-struct-return
<BR>通过内存返回大于一个字的结构,而不是通过寄存器.用于兼容MetaWare HighC (hc)编译器.使用
`-fpcc-struct-return'选项可以兼容Portable C编译器(pcc).
<BR><BR>-mnohc-struct-return <BR>如果可以,通过寄存器返回某些大于一个字的结构.这是默认选项.如果打算兼容<A
title=IBM href="http://ibm.com/">IBM</A>提供的编译器,请使用
`-fpcc-struct-return'或`-mhc-struct-return'选项.
<BR><BR>下面的`-m'选项用于MIPS家族的计算机: <BR><BR>-mcpu=cpu-type
<BR>生成指令的时候,假设默认的机器类型是cpu-type .默认情况下的cpu-type是 default,
GCC将选取任何机型上都是最长周期时间的指令,这样才能使代码在所有的MIPS处理器上以合理 的速度运行. cpu-type的其他选择是r2000,
r3000, r4000,和 r6000.虽然选定某个cpu-type后, GCC将针对选定的芯片安排对应的工作,但是如果 不指定??
-mips2或-mips3选项,编译器不会输出任何不符合MIPS ISA (instruction set architecture)一级的代码.
<BR><BR>-mips2 <BR>输出MIPS ISA二级指令(可能的扩展,如平方根指令). -mcpu=r4000或-mcpu=r6000
选项必须和-mips2联用. <BR><BR>-mips3 <BR>输出MIPS ISA三级指令(64位指令).
-mcpu=r4000选项必须和-mips2联用. (译注:疑为-mips3) <BR><BR>-mint64 <BR>-mlong64
<BR>-mlonglong128 <BR>这些选项目前不起作用. <BR><BR>-mmips-as
<BR>产生用于MIPS汇编器的代码,同时使用mips-tfile添加普通的调试信息.对于大多数平台这是
默认选项,除了OSF/1参考平台,它使用OSF/rose目标格式.如果打开了任一个-ggdb, -gstabs,或-gstabs+选项开关,
mips-tfile程序就把stab封装在MIPS ECOFF里面. <BR><BR>-mgas
<BR>产生用于GNU汇编器的代码.在OSF/1参考平台上这是默认选项,它使用OSF/rose目标格式. <BR><BR>-mrnames
<BR>-mno-rnames <BR>-mrnames开关选项告诉输出代码使用MIPS软件名称说明寄存器,而不是硬件名称(就是说,用
a0代替$4). GNU汇编器不支持-mrnames选项,而MIPS汇编器则运行MIPS C预处理器处理源文件. -mno-rnames是默认选项.
<BR><BR>-mgpopt <BR>-mno-gpopt
<BR>-mgpopt开关选项要求在正文段中把所有的数据声明写到指令前面,使各种MIPS汇编器对短类型全局 或静态数据项(short global
or static data items)输出单字内存访问而不是双字内存访问.当打开编译优化 时,这是默认功能.
<BR><BR><BR>-mstats <BR>-mno-stats <BR>每次处理完非嵌入函数(non-inline function)后,
-mstats开关选项使编译器向标准错误文件 输出一行关于程序的统计资料(保存的寄存器数目,堆栈大小,等等). <BR><BR>-mmemcpy
<BR>-mno-memcpy <BR>-mmemcpy开关选项使所有的块移动操作调用适当的string函数(memcpy或
bcopy),而不是生成嵌入代码. <BR><BR>-mmips-tfile <BR>-mno-mips-tfile
<BR>当MIPS汇编器生成mips-tfile文件(用于帮助调试)后, -mno-mips-tfile
开关选项阻止编译器使用mips-tfile后期处理(postprocess)目标文件.不运行 mips-tfile就没有调试器关注的局部变量.另外,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -