- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
arm-linux-gcc编译选项
在使用GCC 编译程序时,编译过程分为四个阶段:
1. 预处理(Pre-Processing)
2. 编译(Compiling)
3. 汇编(Assembling)
4. 链接(Linking)
Linux 程序员可以根据自己的需要让 GCC 在编译的任何阶段结束,以便检查或
使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以
便通过加入不同数量和种类的调试代码来为今后的调试做好准备。和其它常用
的编译器一样,GCC 也提供了灵活而强大的代码优化功能,利用它可以生成执行
效率更高的代码;
以文件example.c 为例说明它的用法
1. arm-linux-gcc:
-o
arm-linux-gcc -o example example.c
不加-c、-S、-E 参数,编译器将执行预处理、编译、汇编、连接操作直接
生成可执行代码。
-o 参数用于指定输出的文件,输出文件名为example,如果不指定输出文件,
则默认输出a.out
-c
rm-linux-gcc -c -o example.o example.c
-c 参数将对源程序example.c 进行预处理、编译、汇编操作,生成example.o
文件,去掉指定输出选项-o example.o自动输出为example.o,所以说在这
里-o 加不加都可以,
-S
arm-linux-gcc -S -o example.s example.c
-S 参数将对源程序example.c 进行预处理、编译,生成example.s 文件
-o 选项同上
-E
arm-linux-gcc -E -o example.i example.c
-E 参数将对源程序 example.c 进行预处理,生成 example.i 文件(不同版
本不一样,有的将预处理后的内容打印到屏幕上)
就是将#include,#define 等进行文件插入及宏扩展等操作。
-v
arm-linux-gcc -v -o example example.c
加上-v 参数,显示编译时的详细信息,编译器的版本,编译过程等。
-g
arm-linux-gcc -g -o example example.c
-g 选项,加入GDB 能够使用的调试信息,使用GDB 调试时比较方便
-Wall
arm-linux-gcc -Wall -o example example.c
-Wall 选项打开了所有需要注意的警告信息,像在声明之前就使用的函数,
声明后却没有使用的变量等。
-l
arm-linux-gcc -I /home/include -o example example.c
-Idirname: 将 dirname 所指出的目录加入到程序头文件目录列表中。如果
在预设系统及当前目录中没有找到需要的文件,就到指定的dirname 目录中
去寻找。
-static
arm-linux-gcc –static -o libexample.a example.c
静态链接库文件,
arm-linux-ld
直接指定代码段,数据段,BSS 段的起始地址
-Ttext startaddr
-Tdata startaddr
-Tbss startaddr
示例:
arm-linux-ld –Ttext 0x0000000 –g led.o –o led_elf
使用连接脚本设置地址:
arm-linux-ld –Ttimer.lds –o timer.elf $^
其中timer.lds 为连接脚本
arm-linux-objcopy
被用来复制一个目标文件的内容到另一个文件中,可用于不同源文件的之间的
格式转换
示例:
arm-linux-objcopy –O binary –S elf_file bin_file
常用的选项:
1.input-file , outfile
输入和输出文件,如果没有outfile,则输出文件名为输入文件名
2.-I bfdname 或—input-target=bfdname
用来指明源文件的格式,bfdname 是BFD 库中描述的标准格式名,如果没指明,则
arm-linux-objcopy 自己分析
3.-O bfdname 或-
您可能关注的文档
- 明德项目培训心得.doc
- 121班家长会.ppt
- 1-6 肌学总论.ppt
- 关于烟酸的大型试验AIM-NIH报道翻译.docx
- 鄱阳湖沙山水土流失现状调查与定位治理试验.pdf
- 直线、平面垂直的性质及判定88.doc
- 第六章习题j.ppt
- 2012年高考天津卷数学(文)试卷-E智网高考频道发布.docx
- 对数和对数函数练习题一.doc
- 电功率计算题的练习.doc
- 《钢铁工业大气污染物排放标准》编制说明-上海市钢铁工业大.docx
- 【方案】储备人才培养及梯队建设.docx
- 2024年上半年证券行业信用观察——行业总览-新世纪.docx
- 2024年社媒电商大健康行业洞察白皮书-果集行研.docx
- Capgemini-通过可组合银行业务推动金融创新-借助凯捷、IBM和Temenos,释放三者的力量(英)-2024-12页.docx
- 2024H1海外航空行业市场景气度跟踪:航空业景气度持续修复,海外航司经营分化-240910-申万宏源-34页.docx
- 电力及公用事业行业周报(24WK37):绿证与CCER有效衔接,完善绿色转型市场化.docx
- “印太经济框架”进展、内容、前景与影响.docx
- 大模型驱动的具身智能 发展与挑战.docx
- 第十届餐饮创始人大会 -喜家德22年的思考与总结.docx
最近下载
- Siemens西门子电力自动化 变电站自动化 SICAM Anole 用户手册.pdf
- 《导数的概念》教学设计.doc
- 开放系统11379《人文英语(3)》期末机考真题及答案(第102套).pdf
- (康德卷)重庆市高2025届高三第一次联合诊断检 化学试卷(含答案).docx
- 湖北省武汉市江岸区2023-2024学年八年级上学期期末考试英语试题(含答案).docx VIP
- 绘本故事小金鱼逃走了课件PPT.ppt
- 2024年小学古诗词知识竞赛试题及答案(完整版).docx
- 自创--平面镜成像说课市公开课一等奖百校联赛优质课金奖名师赛课获奖课件.ppt VIP
- csm3100无创血流动力检测系统.doc
- 西餐热菜工艺模块3 水产类菜品制作.pptx VIP
文档评论(0)