鉴于
void foo() {
int i = 0;
#ifdef MACRO_A
// custom behaviour
#endif
// program code
}
编译时是否可以将#define MACRO_A
传递给clang ++以允许'自定义行为'语句生效?我找不到文档,表明这在clang ++中是可行的,但在其他编译器中是可能的(g ++)。
答案 0 :(得分:1)
由于pevasquez的帮助,该命令是
clang++ -D MACRO_A main.cpp -o main
功能
void foo() {
int i = 0;
#ifdef MACRO_A
// custom behaviour
#endif
// program code
}
将使用包含在预处理程序指令部分中的代码进行编译。
这将是我的makefile的补充,以创建调试友好的make-chain和生产版本。