gcc生成反汇编 linux_gcc&arm-linux-gcc编译过程详解

arm裸机1期加强版第9课,内容实在太多,如果编辑成一篇文章,估计大家难消化所以我把它拆分为三部分:1.gcc 2.指针,3.Makefile ,今天是第一部分gcc,内容同样适用于arm-linux-gcc。

老规矩,文字无法完整描述视频内容,如果觉得这些文章对你有用,想进一步学习更深层次的干货,请访问http://100ask.taobao.com购买arm裸机1期加强版视频课程。第1节_gcc编译器1_常用选项_编译过程详解

gcc的使用方法gcc [选项] 文件名

gcc常用选项

一个c/c++文件要经过预处理、编译、汇编和链接才能变成可执行文件。

• (1)预处理

C/C++源文件中,以#开头的命令被称为预处理命令,如"#include"、宏定义命令"#define"、条件编译命令"#if、#ifdef"等。

预处理是将包含(include)的文件插入原文件中、将宏定义展开、根据条件编译命令选择要使用的代码,最后将这些东西输出到一个.i文件中并等待进一步处理。

• (2)编译

编译就是把C/C++代码(比如上述的.i文件)翻译成汇编代码。

• (3)汇编

汇编就是将第二步输出的汇编代码翻译成符合一定格式的机器代码,在Linux系统上一般表现为ELF目标文件(OBJ文件)。

反汇编是指将机器代码转换为汇编代码,这在调试程序时常常用到。

• (4)链接

链接就是将上步生成的OBJ文件和系统库的OBJ文件、库文件链接起来,最终生成可以在特定平台运行

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值