有关预处理器命令

1.#define  定义编译期间的常量
2.#undef  取消编译期间的常量
3.#ifdef  (条件编译)
   #else
   #endif

看下面的一个例子:
#undef DEBUG   //取消DEBUG常量
#define DEBUG  //定义DEBUG常量,表达执行程序时有调试结果 
#ifdef DEBUG    //如果已经定义了DEBUG常量(调试时)
#define DPRINTK(x
{printk(__FUNCTION__"(%d): ",__LINE__);printk(##x);}   //定义DPRINTK常量,会输出当前函数,当前行.
#else              //没有定义DEBUG常量,则不输出当前函数之类的调试结果
#define DPRINTK(x) (void)(0)
#endif
__FUNCTION__,__LINE__是预定义的宏.另外,"x...",printk(##x)表达本身结果.
DPRINTK( "adc opened\n");    //执行后的结果为:"当前函数 当前行:adc opened"
posted @ 2008-04-25 10:22  fishert  阅读(383)  评论(0编辑  收藏  举报