- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
gcc3.4.6中文
参考/onlinedocs/gcc-3.4.6/gcc/1、GCC编译器及文件后缀C和C++编译器是集成的.他们都要用四个步骤中的一个或多个处理输入文件: 预处理(preprocessing),编译(compilation),汇编(assembly)和连接(linking).源文件后缀名标识源文件的 语言,但是对编译器来说,后缀名控制着缺省设定: gcc认为预处理后的文件(.i)是C文件,并且设定C形式的连接. g++ 认为预处理后的文件(.i)是C++文件,并且设定C++形式的连接. 源文件后缀名指出语言种类以及后期的操作: .c?????? C源程序;预处理,编译,汇编.C?????? C++源程序;预处理,编译,汇编.cc????? C++源程序;预处理,编译,汇编.cxx???? C++源程序;预处理,编译,汇编.m?????? Objective-C源程序;预处理,编译,汇编.i????? 预处理后的C文件;编译,汇编.ii???? 预处理后的C++文件;编译,汇编.s????? 汇编语言源程序;汇编.S????? 汇编语言源程序;预处理,汇编.h????? 预处理器文件;通常不出现在命令行上
其他后缀名的文件被传递给连接器(linker).通常包括: .o????? 目标文件(Object file).a????? 归档库文件(Archive file)
除非使用了-c, -S,或-E选项(或者编译错误阻止了完整的过程),否则连接总是最后的步骤.在连接阶段中,所有对应于源程序的.o文件, -l库文件,无法识别的文件名(包括指定的 .o目标文件和.a库文件)按命令行中的顺序传递给连接器. 选项选项必须分立给出: `-dr完全不同于`-d -r . 大多数`-f和`-W选项有两个相反的格式: -fname和 -fno-name (或-Wname和-Wno-name).这里 只列举不是默认选项的格式. 下面是所有选项的摘要,按类型分组,解释放在后面的章节中.
2、通用控制输出选项-x language 明确指出后面输入文件的语言为language (而不是从文件名后缀得到的默认选择).这个选项应用于后面 所有的输入文件,直到遇着下一个`-x选项. language的可选值有`c, `objective-c, `c-header, `c++, `cpp-output, `assembler,和`assembler-with-cpp. -x none 关闭任何对语种的明确说明,因此依据文件名后缀处理后面的文件(就象是从未使用过`-x选项). 如果只操作四个阶段(预处理,编译,汇编,连接)中的一部分,可以使用`-x选项(或文件名后缀)告诉 gcc从哪里开始,用`-c, `-S,或`-E选项告诉gcc到 哪里结束.注意,某些选项组合(例如, `-x cpp-output -E)使gcc不作任何事情. -pass-exit-codes 通常gcc会在出错的时候返回1;用这个选项会返回实际上从预处理、编译、汇编、连接阶段中真正的返回值而不是只用1来代替。-c 编译或汇编源文件,但是不作连接.编译器输出对应于源文件的目标文件. 缺省情况下, GCC通过用`.o替换源文件名后缀`.c, `.i, `.s,等等,产生目标文件名.可以使用-o选项选择其他名字. GCC忽略-c选项后面任何无法识别的输入文件(他们不需要编译或汇编). -S 编译后即停止,不进行汇编.对于每个输入的非汇编语言文件,输出文件是汇编语言文件. 缺省情况下, GCC通过用`.o替换源文件名后缀`.c, `.i,等等,产生 目标文件名.可以使用-o选项选择其他名字. GCC忽略任何不需要编译的输入文件. -E 预处理后即停止,不进行编译.预处理后的代码送往标准输出。GCC忽略任何不需要预处理的输入文件。 -o file 指定输出文件为file.该选项不在乎GCC产生什么输出,无论是可执行文件,目标文件,汇编文件还是 预处理后的C代码. 由于只能指定一个输出文件,因此编译多个输入文件时,使用`-o选项没有意义,除非输出一个可执行文件. 如果没有使用`-o选项,默认的输出结果是:可执行文件为`a.out, `source.suffix 的目标文件是`source.o,汇编文件是 `source.s,而预处理后的C源代码送往标准输出. -v 屏幕(标准错误输出)显示执行编译阶段的命令.同时显示编译器驱动程序,预处理器,编译器的版本号. -pipe 在编译过程的不同阶段间使用管道而非临时文件进行通信.这个选项在某些系统上无法工作,因为那些系统的 汇编器不能从管道读取数据. GNU的汇编器没有这个
文档评论(0)