条件编译#if

1、为什么需要条件编译

客户的需求在不停地发生变化,一会儿需要这个功能,一会儿不需要这个功能。我们可以使用条件编译来方便地裁剪功能。

2、条件编译语句#if

条件编译语句#if的形式是

 #if expression
...
#elif expression
...
#elif expression
...
#else
...
#endif

其中#elif分支语句是可选的,#else分支语句也是可选的。

如果expression的逻辑值为“真”,则在预编译阶段,保留这段代码。如果逻辑值为“假”,则在预编译阶段删除这段代码。

3、在条件编译的基础上使用defined()函数

形式为:

 #if defined(some_macro)
some statements

defined()用来检测some_macro这个宏是否定义,如果定义,则返回“真”,否则,返回“假”。根据返回的逻辑值,就可以决定是否在预编译阶段删除与保留{some statements}

tip1: #if defined(some_macro) 可以简写为 #ifdef

tip2: #if !defined(some_macro)与#if defined(some_macro)行为相反,亦可简写为#ifndef

tip3: don't forget #endif

上一篇:libnode 0.4.0 发布,C++ 语言版的 Node.js


下一篇:Laravel中的日志与上传