在编译时为变量赋值

时间:2012-09-26 09:11:28

标签: c++ c gcc

我想在编译代码时为变量分配一个特定的值(对于C和C ++):

例如:

//test.c
int main()
{
   int x = MYTRICK ; (edit: changed __MYTRICK__ to MYTRICK to follow advices in comment)
   printf ("%d\n", x);

   return 0;
}
能够做到这样的事情:

gcc -XXX MYTRICK=44 test.c -o test

结果:

$./test
44

1 个答案:

答案 0 :(得分:6)

使用-D选项:

gcc -DMYTRICK=44 test.c -o test

在您的计划中使用MYTRICK宏,而不是__MYTRICK__。以__开头的名称由实现保留。