1.#define
#define OPEN_LOG //宏定义OPEN_LOG
#define MAX_SIZE 100 //宏定义MAX_SIZE,代码中所有引用MAX_SIZE的地方在编译时会自动的用100代替
2.#if #else #endif
#if defined( OPEN_LOG ) //如果定义了OPEN_LOG,执行下面的代码;否则执行#else下面的代码
do something...
#else
do something...
#endif
3.#ifndef #define #endif
以上的宏是未了防止头文件被重复引用,当编译器第一次编译头文件的时候,会定义__HEAD_H__,之后如果还有文件引用了该头文件,但__HEAD_H__已经被定义了,所以就不会再去编译你的头文件添加的内容。
#ifndef __HEAD_H__ //防止头文件重复引用
#define __HEAD_H__
do something...
#endif
4.#undef
#undef指令用来删除事先定义的宏定义,代码开关控制
#define OPEN_LOG //OPEN_LOG被定义
//#undef OPEN_LOG
...
#if defined( OPEN_LOG ) //OPEN_LOG处于开启状态,do something代码被执行
do something...
#define OPEN_LOG //OPEN_LOG被定义
#undef OPEN_LOG
...
#if defined( OPEN_LOG ) //OPEN_LOG处于关闭状态,do something代码不会被执行
do something...