步骤 | 命令 | 说明 |
---|---|---|
预处理 | gcc -E hello.c -o hello.i | 1. 将所有#define删除,并且展开所有的宏定义 2. 处理所有的条件预编译指令,如#if #ifdef #undef #ifndef #endif #elif 3. 处理#include,将包含的文件插入到此处,这是一个递归的过程 4. 删除所有注释 // /* */ 5. 添加行号和文件名标识,以便于编译时产生的错误警告能显示行号 6. 保留#pragma编译器指令 |
编译 | gcc -S hello.i -o hello.s | 将预处理完的.i文件进行一系列的词法分析、语法分析、语义分析及优化后生成响应的汇编代码文件,这是整个程序构建的最核心的部分,也是最复杂的部分 |
汇编 | gcc -c hello.s -o hello.o或者as hello.s -o hello.o | 汇编是将第二步生成的汇编代码编程机器可执行的指令,每一个汇编语句几乎都对应一条机器指令 |
链接 | 链接动态库和静态库 |
gcc编译步骤
最新推荐文章于 2024-07-06 23:19:03 发布