您的位置:首页 > 编程语言 > C语言/C++

#ifdef条件选择应用!

2016-03-24 17:38 253 查看
最近要改后台服务器,因为想着需要三合一程序,所以需要三个宏交替使用。

转载于:http://blog.csdn.net/davidhsing/article/details/8115121

原本用宏定义包起来的代码类似如下:

[cpp] view
plain copy

 print?

#ifdef A  

//...  

#endif // A  

现在要加入一个宏定义 B,实现类似这样的条件判断(显然实际上这样是不行的):

[cpp] view
plain copy

 print?

#ifdef A && ifdef B  

其实应该这样:

[cpp] view
plain copy

 print?

#if (defined A) && (defined B)  

//...  

#endif  

“或”的形式是:

[cpp] view
plain copy

 print?

#if (!defined A) || (!defined B)  

    //...  

#endif  

这就修正了之前一直以为的“既生 #ifdef,何生 #if defined”的思维,其实还是有差别的。

而且,多个 #if  的条件可以外面加括号表示。例如

[cpp] view
plain copy

 print?

#if ((defined _UNICODE) && (!defined SA_UNICODE))  

    #define SA_UNICODE  

#endif  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++