gcc的使用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Gcc的使用 Gcc编译器可以支持C、C++、object C、JAVA等诸多语言,经过合适的配置可以生产交叉开发工具,gcc工具在/opt/EmbedSky/4.3.3的目录下,主要包括如下工具: cpp:GNU C预处理器,是一个宏指令处理器,GNU C编译器在编译前自动使用 gcc:C编译器 g++:C++编译器 gcj:gcc的java前端,可以生产执行速度更快的二进制本地执行代码,而不是java byte code binutils是一组二进制工具集,包括as、ld、addr2line、ar、gprof、mn、objcopy、objdump、ranlib、size、strings、strip等 as:GNU汇编器工具,用于把汇编语言代码转换成二进制代码,并存放在object文件中 ld:GNU链接器工具,用于确定相对地址,把多个object文件、起始代码段、库等链接起来,最终成为一个可执行文件 addr2line:把执行中得地址映射到源文件的对应行 ar:创建归档文件,修改/替换库中得object文件,向库中添加/提取object文件 objdump:复制和转换object文件 strip:去掉执行文件中得多余信息(如调试信息),可减小执行文件的大小 gcc支持的输入文件的格式: 1:c语言源文件,后缀为.c 2:静态链接库,后缀为.a 3:c++源文件,后缀为.C、.cc 4:程序包含的头文件,后缀为.h 5:经预处理的c源文件,后缀为.i 6:经预处理过的c++源文件,后缀为.ii 7:object-c源文件,后缀为.m 8:编译后的目标文件,后缀为.o 9:汇编源文件,后缀为.s 10:经预编译的汇编源文件,后缀为.S 11:动态链接库(程序运行时用),后缀为.so gcc命令的的基本格式: #gcc [命令行选项] 待生成的文件名 需编译的文件名(可多个源文件) 命令参数: 1:-o filename :指定输出文件名,将经过gcc处理过的结果存为文件“filename”,这个文件可以是预处理文件、汇编文件、目标文件或最终可执行文件。如果“FILE”没有指定,那么生产的可执行默认文件名为a.out,目标文件默认为source.o,汇编文件默认为source.s,生产的预处理文件发送到标准输出设备 2:-E:该选项表示只运行预处理编译器进行预处理就停止,而不做编译、汇编和链接 3:-c:该选项表示只要求编译器进行编译,而不进行链接,生成以源文件的文件名命名但把其后缀由.c或.cc变成.o的目标文件 4:-D name[=definition]:将名为name的宏定义的字符串definition,如果括号中的部分默认则宏定义为字符串1 5:LDIRNAME:将DIRNAME加入库文件的搜索目录列表中 6:-static:静态链接库,即执行静态链接,不支持动态共享库,默认情况下gcc只连接共享库 7:IFOO:链接名为libFOO的函数库 8:-g(gdb):在可执行程序中包含标准调试信息,方便程序调试,如果使用括号中的选项,表示加入gdb扩展的调试信息,以便使用gdb来进行调试 9:-O[0、1、2、3]:优化编译过的代码,括号中的部分为优先级别,默认情况下为2级别优化,0为不优化,注意高级的优化不一定得到效率更高的代码 10:-ansi:支持ANSI/ISO C的标准语法,取消GNU的语法扩展中与标准有冲突的部分,如:asm或typeof关键字,注意,这一项并不能保证生成ANSI兼容代码 11:-pedantic:运行发出ANSI/ISO C标准所列出的所有警告 12:-pedantic[-errors]:运行发出ANSI/ISO C标准所列出的所有错误,括号中的选项表示支持KernighanRitchie C语法 13:-w:禁止所有警告 14:-Wall:运行发出gcc能提供的所有有用的警告,也可以用-W{warning}来标记指定的警告 15:-werror:把所有的警告转换为错误 16:-MM:输出一个Make兼容的相关列表(可以简化我们编写makefile) 17:-v:显示在编译过程的每一步中用到的命令 18:-Idir:将dir目录加到搜寻头文件的列表中去,并优先于gcc默认的搜寻目录,在多个-I选项的情况下,按命令行上-I选项的前后顺序搜索,dir可使用相当路径 19:-Ldir:将dir目录加到搜寻-L选项指定的函数库文件的目录列表中去,并优先于gcc默认的搜寻目录,在多个-L选项的情况下,按命令行上-L选项的前后顺序搜索,dir可使用相当路径 例如:最简单的命令格式:#gcc

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档