[英]How to define value for C++ preprocessor directives during compile time?
假设我有以下代码:
int main() {
#ifdef NEWMETHOD
val = new_method("hello world!");
#else
val = old_method("hello world!");
#endif
return 0;
}
如何在编译时定义 NEWMETHOD?
你只需要写
#define NEWMETHOD
在进行#ifdef
检查之前。
当然,那么您一开始就不需要编写#ifdef
。
如果要在不更改源代码的情况下定义宏,可以在编译期间使用-D
标志将其传入,如下所示:
g++ -DNEWMETHOD main.cpp
很明显,替换了具体的编译命令,以及文件名。
你可以
通过插入定义它
#define NEWMETHOD
在使用它之前进入源代码或
将-DNEWMETHOD
添加到您的编译器调用(适用于所有流行的编译器,包括 GCC、clang 和 MSVC)。
根据您的构建系统,您可能希望将其添加到CFLAGS
(C) 或CXXFLAGS
(C++) 环境变量中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.