我有一个这样的示例代码:
int var;
var = MACRO_A;
我希望MACRO_A
已经像这样定义:
#define MACRO_A 1234
但是,我在源代码的任何地方都找不到定义MACRO_A
,但是我可以成功构建代码,那么最后的值是什么var
?
编译器是 gcc。
我有一个这样的示例代码:
int var;
var = MACRO_A;
我希望MACRO_A
已经像这样定义:
#define MACRO_A 1234
但是,我在源代码的任何地方都找不到定义MACRO_A
,但是我可以成功构建代码,那么最后的值是什么var
?
编译器是 gcc。
但是,我在源代码的任何地方都找不到定义的MACRO_A,但是我可以成功构建代码,那么最后var的值是什么
它在某处,否则无法编译。也许它是直接在命令行上定义的?( -DMACRO_A
)
该宏可以在编译期间使用-D
选项传递。
#include <stdio.h>
int main()
{
int i = MACRO_A;
printf("MACRO_A : %d \n", i);
return 0;
}
输出:
$ gcc macro.c -D MACRO_A=10
$ ./a.out
MACRO_A : 10
$