一、过程
- 预编译
- 汇编
- 编译
- 链接
二、流程
2.1预编译
gcc -E hello.c -o hello.i
.c/.h => .i 文件
- 头文件stdio.h库文件 引用进来
- 展开宏定义
2.2汇编
gcc -S hello.i -o hello.s
产生汇编代码
2.3编译
gcc -C hello.s -o hello.o
生成二进制文件
2.4链接
gcc hello.o -o hello
Windows=>.exe
Linux => .elf
三、例子
执行的命令:
hello.c
#include <stdio.h>
#define HEL "helloworld\n"
int main(){
printf(HEL);
return 0;
}
hello.i
hello.s
hello.s