gcc -o hello hello.c 背后的编译过程
- gcc编译需要经历以下几个阶段:
- 预处理
- 编译
- 汇编
- 链接
注:查看编译的详细信息可通过如下命令:
gcc -o hello hello.c -v
CC1命令:
- 预处理
gcc -E -o hello.i hello.c
主要作用有:
查找头文件 .h
展开宏
屏蔽注释
- 编译
gcc -E -o hello.i hello.c
主要作用有:
将高级语言转为汇编码
检查语法错误
as命令:
- 汇编
gcc -c -o hello.o hello.s
主要作用:将汇编码转为机器码
collect2:
- 链接
gcc -o hello hello.o
主要作用:将众多的 .o(目标文件) .so(动态连接库) .a(静态库文件) 链接成一个app