程序员的自我修养-读书笔记
hello world
创建hello.c文件
#include <stdio.h>
int main() {
printf("Hello world\n");
return 0;
}
执行
$ gcc hello.c
$ ./a.out·
以上过程可分解为 预处理、编译、汇编和链接 四个阶段
预处理
-E 表示只进行预编译
$ gcc -E hello.c -o hello.i
预编译的过程主要是处理源代码文件中以#开始的预编译指令,主要处理规则如下:
- 将所有的#define删除,并且展开所有的宏定义
- 处理所有的条件预编译指令
- 删除所有注释
- 添加行号和文件名标识
- 保留所有#pragma编译器指令
未完待续