我在c文件中有一个#define ONB
(有几个#ifndef...#endif
s)改变了程序行为的许多方面。现在我想更改项目makefile(甚至更好的Makefile.am),这样如果定义了ONB并相应地设置了其他一些选项,它就会运行一些特殊命令。
我搜索了网页,但我找到的只是检查环境变量......那么有没有办法做到这一点?或者我必须更改c代码以在环境变量中检查它?(我不想更改代码,因为它是一个非常大的项目,我不知道它的一切)
答案 0 :(得分:0)
问题:我的评价不足以在评论中提问,所以我不得不在这里问:
可能的解决方案:根据您的需要,您可以使用LLVM工具生成并检查代码的AST,以查看是否使用了定义。但这似乎有点像工程学。
可能的解决方案:您还可以使用#includes
来引入.c或头文件并生成条件错误,或者编译(转换为.o),然后编译失败你知道它是否已定义。但这有其自身的问题,具体取决于make文件中的设置方式。