[技术文章] gcc基础笔记1

[复制链接]
查看2513 | 回复9 | 2018-7-17 16:50:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1. gcc是如何将源代码变为可执行文件的
gcc将源代码变为可执行文件分为四个步骤:
    [li]预处理(preprocessing);[/li][li]编译(compilation);[/li][li]汇编(assembly);[/li][li]链接(linking)[/li]

(1)预处理
预处理是指编译器插入头文件,展开在源文件中的宏命令,然后将处理后的代码输出到一个”.i“文件中等待进一步处理。预处理用到的指令是arm-linux-cpp
(2)编译
编译就是将C/C++代码翻译成汇编代码(".s"文件)。用到的工具是cci
(3)汇编
汇编就是将汇编代码翻译成机器码(obj文件)。用到的工具是arm-linux-as
(4)链接
链接就是将汇编生成的各个机器码模块与库函数的obj文件链接起来,最终形成一个可执行文件。用到的工具为arm-linux-ld
通常我们把前三个步骤统称为编译。通过编译,源代码变为目标文件(通常我们称为obj文件)。
2. gcc常用编译选项
-v    (1)查看gcc编译器版本(2)显示执行时的详细过程
-E    仅预处理后就停止,不再继续编译,汇编和链接
-S    仅编译,不再继续汇编和链接
-c    仅编译和汇编,但是不再继续链接(可以-E后直接-c,也可以直接-c)
-o <file> 指定输出文件
回复

使用道具 举报

liqi5230 | 2018-7-17 17:22:17 | 显示全部楼层
回复

使用道具 举报

wangdanq | 2018-7-18 10:16:11 | 显示全部楼层
回复

使用道具 举报

h09721 | 2018-7-19 08:51:25 | 显示全部楼层
回复

使用道具 举报

cht0819 | 2018-8-16 08:42:59 | 显示全部楼层
回复

使用道具 举报

h09721 | 2018-8-23 08:44:01 | 显示全部楼层
回复

使用道具 举报

dqh520 | 2019-3-26 09:02:09 | 显示全部楼层
回复

使用道具 举报

逆天pads | 2020-11-15 20:25:08 | 显示全部楼层
回复

使用道具 举报

学海无涯 | 2020-11-18 08:20:31 | 显示全部楼层
回复

使用道具 举报

sen1 | 2023-2-10 08:52:29 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则