#ifdef和#if defined的差别以及复杂判断

来源:互联网 发布:淘宝怎么不让别人看 编辑:程序博客网 时间:2024/06/08 02:50

注意两者都有个define的作用,区别在于使用方式上。前者的通常用法是:
#ifdef  XXX

   ....

#else

   ....

#endif

    只能在两者中选择是否有定义。对于后者,常用法是:

#if defined xxx1

   ....

#elif defined xxx2

   ....

#elif defined xxx3

   ....

#endif

     可以在多个中选择是否有定义.



复杂判断

正确:

#if ((defined (_WIN32)) || (!defined (TP_CALLBACK_ENVIRON_V1)))

注意不是如下:

#if ((#defined (_WIN32)) || (!#defined (TP_CALLBACK_ENVIRON_V1)))

http://blog.csdn.net/zhandoushi1982/article/details/5319058


0 0
原创粉丝点击