条件编译:
条件语句(if、switch、for、while、do while)会根据条件选择执行哪些代码,预处理器根据条件选择哪些代码参与下一步的编译。
负责条件编译的预处理指令有:
#if/#ifdef/#ifndef/#else if#else/#endif
头文件卫士:
#ifndef FILE_H // 判断FILE_H宏是否正在,不存在则条件为真
#define FILE_H // 定义FILE_H宏
#endif//FILE_H // #ifndef的结尾
这种固定写法,一般在头文件中使用,它能防止头文件被重复包含。
注释代码:
// 只能注释单行代码,早期的编译器不支持该用
/* 多行注释,但不能嵌套 */
#if 0|1
可注释大块代码,可以嵌套
#endif
版本、环境判断:
编译器的位数:
#if __WORDSIZE == 64
#endif
操作系统:
#if __linux__
#endif
#if __WIN32 | __WIN32__ | __WIN64__
#endif
<