c语言的编译链接
.c源文件到exe的过程
工具 输入文件 输出文件
预处理
预处理的指令都以#开头
在编译之前会先进行预处理
预处理指令不加#时就是普通的单词
#include
在进行预处理后会把程序中所有的宏名都替换为宏体
#define 宏名 宏体
这个指令只对源文件进行预处理
条件编译
当有定义debug时会执行打印aaa,没有定义时会打印bbb
#include <stdio.h>int main() {
#ifdef DEBUGprintf("aaa");
#elseprintf("bbb");
#endifreturn 0;
}
当我们用gcc工具来定义DEBUG时生成的代码打印aaa