将#define X宏值替换为编译命令中指定的另一个值
假设我有这个代码:
#include #ifndef STR #define STR "HELLO" #endif int main() { printf(STR "WORLD \n"); return 0; }
这基本上转换为:如果未定义STR,则将其定义为“HELLO”,因此程序输出将是
你好,世界
现在,我的问题是:在使用gcc编译时如何修改此STR值? 例如,我想将“HELLO”更改为“HI”而不更改源(program.c)文件中的任何内容。
这样做的gcc语法是什么?
我试过了
gcc -Wall program.c -DSTR =“HI”-o program
但它没有产生预期的产量。
有什么建议?
谢谢!
尝试以下forms:
-DSTR=\"MyString\"