1. 程序的翻译环境和执行环境
在ANSIC的任何一种实现中,存在两个不同的环境
第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。
第2种是执行环境,它用于实际执行代码。
2. 详解编译+链接
2.1 翻译环境
每个源文件单独经过编译器进行处理
2.2 编译本身也分为几个阶段
2.3 运行环境
3. 预处理详解
3.1 预定义符号
3.2 #define
3.2.1 #define定义标识符
在define定义标识符的时候,要不要在最后加上;? 不加
3.2.2 #define定义宏
#define 机制包括了一个规定,允许把参数替换到文本中,这种实现通常称为宏(macro)或定义
宏(define macro)。
#define name( parament-list )stuff
其中的 parament-1ist是一个由逗号隔开的符号表,它们可能出现在stuff中。
3.2.3 #define替换规则
3.2.4 #和##
# 可以把参数转化成字符串
## 可以把位于他两边的符号合成一个符号
它允许宏定义从分离的文本片段创建标识符
3.2.5 带有副作用的宏参数
3.2.6 宏和函数对比
小型的,计算少的
3.2.7 命名约定
3.3 #undef
3.4 命令行定义
3.5 条件编译
3.6 文件包含
防止头文件被重复多次包含