代码之家  ›  专栏  ›  技术社区  ›  ABCplus

检查#ifdef中的宏或真实条件

  •  2
  • ABCplus  · 技术社区  · 7 年前

    我正在开发一个由两个应用程序使用的c++库,我们称之为 附录1 附录2 附录1

    我想在部署后使用的库中开发一个新功能 附录2 ,这与 ; 即使我不想包括它,因为它会导致我的应用程序链接到其他库。我希望有一个更轻量级的可执行文件。

    #ifdef FEATURE_APP_2
        ...
    #endif
    

    问题是,在开发过程中,IDE(VS2013)“禁用”了 #ifdef #endif

    this question :

    #if defined(FEATURE_APP_2) || defined (1)
        ...
    #endif
    

    #if defined(FEATURE_APP_2) || defined (1) 只有 #if defined(FEATURE_APP_2) .

    问题是,声明:

    #if defined(FEATURE_APP_2) || defined (1)
    

    不接受。

    1 回复  |  直到 7 年前
        1
  •  4
  •   Some programmer dude    7 年前

    1 不是一个已定义或未定义的宏,这是什么 defined ,如中所示

    #if defined(FEATURE_APP_2) || 1
    ...
    #endif
    

    || 1 在某处

    相反,你可以检查一个新的宏,比如

    #if defined(FEATURE_APP_2) || defined(ENABLE_ALL_FEATURES)
    ...
    #endif
    

    ENABLE_ALL_FEATURES 并在构建发布时取消对其定义。