基于环境变量的编译

时间:2014-11-29 10:55:06

标签: c compilation environment-variables

如何编译一段代码并依赖于环境变量值? 我试图在c中寻找如何使用环境变量,但发现只用作main的参数,而我希望它影响编译过程。我想要将圆顶功能从编译中删除。 如何将完整的文件从编译中删除呢?

说.h文件看起来像:

function_dec_1()
#ifdef ENV_VAR
relevant_macros
function_dec_2()
#endif
#funct_dec_3()

1 个答案:

答案 0 :(得分:1)

你可以通过-D标志将任何你想要的东西,比如$(ENV_VAR)传递给编译器,(无论如何,对于gcc,否则检查你的C编译器是否接受-D)

所以

EXPORT ENV_VAR=HELLO
cc -D$(ENV_VAR) hello.c

应该好像

#define HELLO

位于源文件hello.c

的开头