这几天研究了以下.h里的代码,现总结如下:
1. #define除了宏定义,还可以借助#ifdef,有条件地包含程序代码。特点是 #define之后只跟一个标识符,该标识符没有实际含义,只是一个标记而已。
例如,为了防止measure.h被重复包含,则可将其填入以下格式中:
#ifndef MEASURE
#define MEASURE
...//measure.h的内容
#endif
将全部待包含头文件均按上述格式处理后:
(1) 如果程序的其他位置已经了定义了标识符MEASURE,则#ifndef MEASURE为假,直接跳转至#endif语句,对measure.h不予编译。
(2) 如果程序的其他位置均没有定义标识符MEASURE,则#ifndef MEASURE为真。执行#define MEASURE,即首次定义该标识符,以通过上述格式避免对measure.h重复编译。然后对measure.h进行编译。