条件编译#if


1、为什么需要条件编译

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

2、条件编译语句#if

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

1 #if expression
2 ... 3 #elif expression
4 ... 5 #elif expression
6 ... 7 #else
8 ... 9 #endif

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

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

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

形式为:

1 #if defined(some_macro)
2 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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM