美文网首页
用宏变量控制代码的条件编译

用宏变量控制代码的条件编译

作者: AwesomeChen | 来源:发表于2016-05-12 16:40 被阅读248次

    在源文件中,用宏变量控制代码的条件编译,有如下四个编译控制语句:

    #if

    #if defined

    #ifndef

    #ifdef

    四个常见编译控制的区别,联系,及用法:

    #ifdef 与 #if defined() 是等价的。 适用于判断单个宏是否定义。

    #if defined() 可以构成复杂的逻辑判断。

    例如

    #if defined(TEST1) || defined(TEST2)

    xxxxxx

    #endif

    #if defined(AAA) && VERSION > 3

    xxxxx

    #endif

    #if 后面跟条件表达式, 为真,执行编译,为假,不编译。

    #if defined() 就是#if 的一种用法。

    #ifndef  和 #if !defined() 等价,用来判断单个宏是否未定义

    例如:

    #if !defined YA_BUILD_FOR_DEVELOP && !defined YA_BUILD_FOR_TEST && !defined YA_BUILD_FOR_RELEASE && !defined YA_BUILD_FOR_PRERELEASE

    #define YA_BUILD_FOR_DEVELOP

    //#define YA_BUILD_FOR_TEST

    //#define YA_BUILD_FOR_PRERELEASE

    //#define YA_BUILD_FOR_HOTFIX

    //#define YA_BUILD_FOR_RELEASE//该环境的优先级最高

    #endif

    相关文章

      网友评论

          本文标题:用宏变量控制代码的条件编译

          本文链接:https://www.haomeiwen.com/subject/dbdprttx.html