微观的C/C++执行过程
C语言 .c ----> .exe
过程:
1)预处理
把.h .c文件展开形成一个文件。宏定义直接替换、头文件库文件直接打开。生成.i文件
预处理指令 -E
2)汇编
.i文件生成汇编代码文件.s
汇编指令 -S
3)编译
.s文件编译成目标代码文件.o
编译指令 -c
4)链接
.o 链接 .exe(windows) .elf(linux)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b255d7339dc036103af8f01c956505e3.png#pic_center)
预处理 gcc -E hello.c -o hello.i
汇编 gcc -S hello.i -o hello.s
编译 gcc -c hello.s -o hello.o
链接 gcc hello.o -o hello