文章简单再现C语言从源码到可执行程序实现过程,基于CentOS系统,源码hello.c如下:
#include <stdio.h> int main() { printf("Hello,World!\n"); return 0; }
1. 预编译
gcc -E hello.c -o hello.i
2. 编译
gcc -s hello.i -o hello.s
3. 汇编
# 命令 gcc -c hello.s -o hello.o 报错,因此使用: gcc -c hello.c -o hello.o
4. 链接
gcc hello.o -o hello
5. 结果如下图:
6. 参考资料:
- linux:gcc编译器的四个阶段
- gcc——预处理(预编译),编译,汇编,链接