1. C语言的编译步骤
1.1 预处理
- 带#的语句就是预处理指令, 预处理指令在预处理的时候处理了
- 头文件展开: #include <stdio.h> 包含stdio.h (预处理将stdio.h文件拷贝至预处理文件中)
- 宏替换: #define 代表是声明一个宏, 在预处理时会将宏文件对应的值替换
- 预处理不会检查语法错误
- 条件不成立 #if 0 -> #endif , 条件成立 #if 1 -> #endif
#include <stdio.h>
#define PI 3.14
int main(){
#if 0
printf("hello", PI);
return 0;
#endif
}
1.2 编译
将预处理文件变成汇编文件
- 检查语法错误
1.3 汇编
将汇编文件变成二进制文件.o
1.4 链接
设置运行环境, 堆栈等, 链接其他库
- 链接命令最后变成.exe文件
可以成功运行
网友评论