- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7代码生成,代码生成器,淘宝代码生成器,淘宝代码在线生成,代码生成工具,在线代码生成器,淘宝代码生成,动软代码生成器,狂人代码生成器,旺旺代码生成器
第七章 代码生成 刘东升 张丽萍 代码生成就是编译程序,它是一个翻译器,能够读入某种语言格式的指令,并将它们翻译成可以在计算机上运行的指令集合。 GCC(GNU Compiler Collection,GNU编译程序集合)是GNU项目的一个产品,它是最重要的开放源码软件。 GCC包含了多种语言编译器,这里只介绍g++的使用,gcc、g77、gcj的用法请参考《Linux程序开发基础》。 内容目录 编译器简介 编译C++程序 编译器简介 gcc(Linux平台下的GNU C编译器) g++(Linux平台下的C++编译器) gcj(Linux平台下的GNU JAVA编译器) g77(Linux系统平台下的GNU Fortran编译器) 编译C++程序 GNU C++编译器简介 编译的警告与错误 g++的基本用法 编译器的常用选项 g++编译过程简介 小结 GNU C++编译器简介 g++是Linux系统平台下的一个全功能、高效而强有力的C++编译器。 建议初学者如果使用C++进行程序开发,那么编译时最好使用g++。 g++既可以编译C++程序也可以编译C语言程序,在编译C语言程序时g++会自动调用gcc实现编译,以便随意组合C语言和C++技术。 我们这里为了与C语言的源代码相区别(C语言以.c作为源代码的文件扩展名),对C++的源代码使用.cpp扩展名。 例:清单7-9 welcome.cpp 编译的警告与错误 尽管每个编程人员都难免犯错误,但熟练的开发人员知道如何寻找和纠正大多数的编程错误,不使其产生缺陷。 需要说明的是,警告与错误有所不同。警告是编译器发现源代码中有潜在错误时所提示性信息,而错误则是编译器无法正确完成编译工作时所提示的语法错误信息。 1.编译警告 警告通常是由于缺少声明、数据类型不对和各种不正确的结构所造成。尽管发了警告,但程序源代码语法还是完整的,因此这些问题并不妨碍编译器生成可执行的代码文件,但代价可能是无法正确运行。 例如:假设编写main()函数,插入一条int i语句却从来没有使用过。 其源代码见程序清单7-10所示。 2.编译错误 由于程序是人编制的,人就难免犯错误。能被编译器检查出来的编程错误是由源代码中的语法错误造成的,错误会使编译器提前结束,返回错误消息。这就使得编译器无法生成可执行代码文件,因此,必须先纠正所有编译器报告的错误才能完成编译。 例如,见程序清单7-11所示的源代码。 当编译该程序时,编译器报告一些错误: $ g++ -W Wall 7-11.cppEnter g++: Wall: No such file or directory 7-11.cpp: In function `int main(): 7-11.cpp:3: error: `EXIT_SUCCESS undeclared (first use this function) 7-11.cpp:3: error: (Each undeclared identifier is reported only once for each function it appears in.) 在C++中,在使用常量、变量或函数之前,必须先行声明,EXIT_SUCCESS的说明包含在头文件stdlib.h中。要纠正缺陷,只需在main()上面插入下列指令就可去掉错误。 #include stdlib.h 3.编译常见的错误类型 在进行编译时如果发现程序有错误,编译器就不会生成可执行程序,并会列出可能的错误,为修改程序提供参考。 语法错误 头文件错误 库文件错误 未定义符号错误 g++的基本用法 1.g++的完整格式 g++ [options] [filenames] 其中options为g++使用时的编译选项,而filenames为欲以g++进行编译处理的文件名。 2.g++的编译选项 在g++后面可以没有、也可以有多个编译选项,同时进行多个编译操作。 g++的选项一般以减号(-)开头,有短的选项,也有长的选项。 g++能分辨选项的大小写,所以使用时要特别注意。 编译器的常用选项 1.指定最终生成文件名的选项 2.中间编译选项 3.错误和警告选项 4.将警告变成错误 5.优化代码 6.可移植性选项 1.指定最终生成文件名的选项 将C++源代码编译成可执行代码最简单、方便的办法是不用任何选项,g++将会直接编译生成一个名为a.out的可执行文件。 我们也可以用使用编译选项-o来改变编译后生成的可执行文件的文件名。 $g++ recip.cpp –o recipEnter 该命令行执行后,可执行文件的文件名就改变成了re
您可能关注的文档
最近下载
- 通信技术-使用Cypress需要避免的5个E2E测试错误(图文).pdf VIP
- 2025年小学一年级新生家长会ppt课件(优质ppt).pptx VIP
- 中国信通院2025人工智能高质量数据集建设指南74页.pdf VIP
- 2025-2026学年小学音乐三年级上册(2024)苏少版(2024)教学设计合集.docx
- 新征程,'心'启航——2025年秋学期开学第一课收心班会.pptx VIP
- Unit 1 How can I get there? PartA(说课稿)-2024-2025学年人教PEP版英语六年级上册[001].docx VIP
- 良好农业规范GAP记录表格.pdf VIP
- 2025年工会相关法律法规知识竞赛试题.doc VIP
- 高等土力学李广信22应力和应变.pptx VIP
- 消失模铸造工艺技术的创新与生产实践.pdf VIP
文档评论(0)