假设我有这个程序:
int main(){
printf("program 1\n");
}
int main(){
printf("program 2\n");
}
如何定义一个可以帮助我选择运行哪个主电源的宏?
理想情况下,我想将某些内容定义为1(或2),并打印“程序1”(或“程序2”)。
答案 0 :(得分:2)
在#if
个功能周围使用main()
。
#if WHICHMAIN == 1
int main(){
printf("program 1\n");
}
#endif
#if WHICHMAIN == 2
int main(){
printf("program 2\n");
}
#endif
然后,您可以使用-DWHICHMAIN=1
或-DWHICHMAIN=2
编译该程序,以指定宏的值。
答案 1 :(得分:2)
这就是我通常所做的:我创建一个名为my_config.h
的配置文件,并在其中定义宏,例如#define TEST_MODE
。
代码是这样的:
#include "my_config.h"
int main() {
#ifdef TEST_MODE
return test_main();
#else
return real_main();
#endif
}