如何为预处理器禁用无效代码分析?

时间:2019-02-27 10:53:51

标签: c++ android-studio android-ndk

如何为预处理器禁用无效代码分析?我们的项目具有一些宏魔术,而Android Studio无法理解。代码变成灰色,不应该在哪里。

#if SOMETHING
// Here code is gray, but it shouldn't be.
#else
....
#endif

这是一个更可靠的例子。它不仅会针对__arch64__呈灰色显示,还会针对所有体系结构进行项目编译。

#if defined(__x86_64__)
        .. // x64 specific
#elif defined(__i386__)
        .. // RIP: x86_64 specific
#elif defined(__aarch64__)
        .. // etc..
#endif

这个技巧是另一个可靠的例子。我们有unity_build.cpp个文件,其中包含所有转换单元。每个过渡单元都有预处理器魔术。

#ifndef MYPROJ_UNITY_BUILD
... // Transition unit code.
#endif

unity_build.cpp

#ifdef MYPROJ_UNITY_BUILD
    #undef MYPROJ_UNITY_BUILD
#else
    #define MYPROJ_UNITY_BUILD 1
#endif
#include "first-transition-unit.cpp"
#include "second-transition-unit.cpp"

Android Studio在每个过渡单元中将代码显示为灰色。

0 个答案:

没有答案