网站大量收购独家精品文档,联系QQ:2885784924

arm-linu-gcc 常用参数讲解 gcc编译器使用方法.docx

arm-linu-gcc 常用参数讲解 gcc编译器使用方法.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
我们需要编译出运行在 ARM 平台上的代码,所使用的交叉编译器为 arm-linux-gcc 。下面将arm-linux-gcc 编译工具的一些常用命令参数介绍给大家。 在此之前首先介绍下编译器的工作过程,在使用 GCC 编译程序时,编译过程分为四个阶段: 预处理(Pre-Processing) 编译(Compiling) 汇编(Assembling) 链接(Linking) Linux 程序员可以根据自己的需要让 GCC 在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以便通过加入不同数量和种类的调试代码来为 今后的调试做好准备。和其它常用的编译器一样,GCC 也提供了灵活而强大的代码优化功能,利用它可以生成执行效率更高的代码。 以文件 example.c 为例说明它的用法 arm-linux-gcc -o example example.c 不加-c、-S、-E 参数,编译器将执行预处理、编译、汇编、连接操作直接生成可执行代码。 -o 参数用于指定输出的文件,输出文件名为 example,如果不指定输出文件,则默认输出a.out arm-linux-gcc -c -o example.o example.c -c 参数将对源程序 example.c 进行预处理、编译、汇编操作,生成 example.0 文件 去掉指定输出选项-o example.o自动输出为 example.o,所以说在这里-o 加不加都可以 arm-linux-gcc -S -o example.s example.c -S 参数将对源程序 example.c 进行预处理、编译,生成 example.s 文件 -o 选项同上 arm-linux-gcc -E -o example.i example.c -E 参数将对源程序 example.c 进行预处理,生成 example.i 文件(不同版本不一样,有的将预处理后的内容打印到屏幕上) 就是将#include,#define 等进行文件插入及宏扩展等操作。 arm-linux-gcc -v -o example example.c 加上-v 参数,显示编译时的详细信息,编译器的版本,编译过程等。 arm-linux-gcc -g -o example example.c -g 选项,加入 GDB 能够使用的调试信息,使用 GDB 调试时比较方便。6.arm-linux-gcc -Wall -o example example.c -Wall 选项打开了所有需要注意的警告信息,像在声明之前就使用的函数,声明后却没有使 用的变量等。 arm-linux-gcc -Ox -o example example.c -Ox 使用优化选项,X 的值为空、0、1、2、3 0 为不优化,优化的目的是减少代码空间和提高执行效率等,但相应的编译过程时间将较长并占用较大的内存空间。 arm-linux-gcc -I /home/include -o example example.c -Idirname: 将 dirname 所指出的目录加入到程序头文件目录列表中。如果在预设系统及当前目录中没有找到需要的文件,就到指定的 dirname 目录中去寻找。 arm-linux-gcc -L /home/lib -o example example.c -Ldirname:将 dirname 所指出的目录加入到库文件的目录列表中。在默认状态下,连接程序ld 在系统的预设路径中(如/usr/lib)寻找所需要的库文件,这个选项告诉连接程序,首先到-L 指定的目录中去寻找,然后再到系统预设路径中寻找。 arm-linux-gcc –static -o libexample.a example.c 静态链接库文件 gcc 在命令行上经常使用的几个选项是: -c 只预处理、编译和汇编源程序,不进行连接。编译器对每一个源程序产生一个目标文件。 -o file 确定输出文件为 file。如果没有用-o 选项,缺省的可执行文件的输出是 a.out,目标文件和汇编文件的输出对 source.suffix 分别是 source.o 和 source.s,预处理的 C 源程序的输出是标准输出 stdout。 -Dmacro 或 -Dmacro=defn 其作用类似于源程序里的 #define 。 例如: % gcc -c -DHAVE_GDBM -DHELP_FILE=\help\ cdict.c 其中第一个- D 选项定义宏 HAVE_GDBM, 在程序里可以用#ifdef 去检查它是否被设置。第二个-D 选项将宏 HELP_FILE 定义为字符串“help”(由于反斜线的作用,引号实际上已

文档评论(0)

hao187 + 关注
官方认证
内容提供者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档