c语言编译过程学习和梳理

https://blog.csdn.net/weixin_41143631/article/details/81221777https://zhuanlan.zhihu.com/p/106777805main.cpp#include stdio.hint main(){printf(Hello world!);return 0;}1. 预处理使用预处理器把源...

https://blog.csdn.net/weixin_41143631/article/details/81221777

https://zhuanlan.zhihu.com/p/106777805

main.cpp

#include <stdio.h>

int main(){
    printf("Hello world!");
    return 0;
}

1. 预处理

使用预处理器把源文件test.c经过预处理生成test.i文件,预处理用于将所有的#include头文件以及宏定义替换成其真正的内容。

gcc -E main.cpp -o main.i

2. 编译

编译阶段是检查语法,生成汇编

gcc -S main.cpp -o main.s

3. 汇编(Assemble)

使用汇编器将汇编文件test.s转换成目标文件test.o。

gcc -c main.cpp -o main.o

4. 链接

将源文件中用到的库函数与汇编生成的目标文件.o合并生成可执行文件

gcc main.o -o main.exe

本文标题为:c语言编译过程学习和梳理

基础教程推荐