|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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> 指定输出文件 |
|