【发布时间】:2017-10-17 02:00:56
【问题描述】:
现在我正在合并两个具有相同核心的代码,但它们与#defines 不同,我需要的是绕过它,在运行时选择我需要的配置,代码使用 if ENABLE(定义)来验证要加载的配置,如何修改代码以使其工作? 谢谢
【问题讨论】:
-
你不能。当编译器开始编译您的代码时,源代码中已经没有
#defines 和其他预处理器指令的痕迹了。你需要想出一些其他的策略。 -
Teeeeeechnically,某些级别的调试符号可以让您保留它们以实现更好的调试体验:)
-
将它们声明为变量并更改使用此#defines 的依赖项是否更好?但是比如有很多向量用它们来声明它们的大小,我不能简单地用一个像vector [int]这样的int来声明一个向量大小...
-
@AlessandroQueiroz,向量大小可以是运行时值。你是说数组吗?
-
我建议你改写你的问题。 :-) 你所说的方式已经有了答案,答案是“你不能。”。也许更详细地解释你最终想要完成的事情,而不是询问如何让你为完成它而拥有的特定想法发挥作用?