1. 程序翻译的过程有四个步骤,预处理->编译->汇编->链接。
那么每个步骤是干什么?
预处理阶段:处理-> 头文件、宏替换、条件编译等等,我用 linux 环境查看一下,如下:
首先写一个简单的 .c 文件,里面包含宏替换、头文件、条件编译等等,我写了这三个。
#include <stdio.h>
#define N 2
int main()
{
printf("%d\n", N);
#ifdef DEBUG
printf("debug\n", );
#else
printf("nodebug\n");
#endif
return 0;
}
然后 linux 中,用 gcc -E -o Test.i Test.c 这条命令就是处理预处理,生成 .i 文件,我就简单截几张图,因为生成的 .i 800多行,如下:
那么编译呢?