Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1300396
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

分类: LINUX

2011-02-20 19:57:58

一、编译过程

	*.c ---预处理---> *.i ---编译--->  *.s ---+
					  							         +--->汇编---> *.o ---链接---> exec
	*.S -----------预处理---------> *.s ---+ 

	注: *.s是汇编(名词)文件,但*.s-->*.o的过程叫汇编(动词)
		 平时讲的编译包括所有过程,实际只是从*.i到*.s的过程
	
	
二、gcc选项
	-o	filename			输出文件		
	-c						不链接
	-S						不汇编
	-E						不编译
	-v						显示GCC的配置命令,版本,编译时的信息
	-Wall					显示所有警告
	-g						加上GDB的调试信息
	-O[1|2|3]			优化
	-L	dir				指定库目录
	-l	name				链接libname.[a|so]库
	-nostartfiles		不链接系统的标准启动文件
	-nostdlib			不链接系统的标准启动文件和标准库
	-static				静态链接,默认动态
	-shared				生成动态库,不是动态链接
	-I						指定头文件目录
		
三、ld选项
	-T{text|data|bss}	addr			指定段起始地址
	--verbose							显示默认链接文件
	
	
四、objdump选项
	arm-linux-objdump [...] objfiles...
	-b	bfdname			指定目标文件代码格式
	-d						反汇编代码段
	-D						反汇编所有段
	-EB | -EL			指定大小端
	-f						显示文件头信息
	-h						显示所有段信息
	-i						bfdname
	-m arch				指定目标文件架构
	
	arm-linux-objdump -D -m arm -b binary test.bin	反汇编二进制文件

五、objcopy选项		
	arm-linux-objcopy [...] infile [outfile]
	-I bfdname			指定输入文件格式
	-O	bfdname			指定输出文件格式
	-R secname			删除secname段
	--info					列出bfdname
	
	
	

	

	
	
					
阅读(521) | 评论(0) | 转发(0) |
0

上一篇:GNU内嵌汇编

下一篇:链接脚本

给主人留下些什么吧!~~