如何编译一段代码并依赖于环境变量值? 我试图在c中寻找如何使用环境变量,但发现只用作main的参数,而我希望它影响编译过程。我想要将圆顶功能从编译中删除。 如何将完整的文件从编译中删除呢?
说.h文件看起来像:
function_dec_1()
#ifdef ENV_VAR
relevant_macros
function_dec_2()
#endif
#funct_dec_3()
答案 0 :(得分:1)
你可以通过-D标志将任何你想要的东西,比如$(ENV_VAR)传递给编译器,(无论如何,对于gcc,否则检查你的C编译器是否接受-D)
所以
EXPORT ENV_VAR=HELLO
cc -D$(ENV_VAR) hello.c
应该好像
#define HELLO
位于源文件hello.c