如果我有一个 C 文件 foo.c 并且我已将 -DMACRO=1
作为编译的命令行选项。但是,如果在头文件中我也有
#define MACRO 2
哪些将获得优先权?
最佳答案
我假设你在做什么,但如果你想从命令行为该宏提供一个非默认值,请尝试这个宏定义:
#ifndef MACRO
#define MACRO 2
#endif
如果 MACRO 已经被定义(通过命令行参数),那么它既不会被重新定义也不会导致错误。
关于c - -D MACRO 和#define MACRO 的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3965956/