我的代码看起来像这样
while(!eof)
{
if(A)
doSomething;
if(B)
doSomething;
}
A 和 B 是来自命令行的参数。还可能有更多参数。我有 bool 结构,其中包含所有可能的参数,并且对于每个参数,它确定他是否存在。
我可以让编译器不读取代码的某些部分吗?
我的意思是,在这段代码中,他将在每次迭代时检查 B 是否存在。我想要实现的是他只会检查一次
if(B)
doSomething;
我希望这只是为了优化我的程序,并且我需要在一个周期中同时拥有两个 if。
最佳答案
坦率地说,编译后忽略部分代码
是没有意义的。代码已经编译好了。然而。您可以使用条件语句跳过代码某些部分的执行,例如if
、else-if
等。
FWIW,“命令行参数”是在运行时提供和考虑的。您无法根据编译时的情况来决定(条件编译)。
但是,如果您愿意,您可以随时检查通过命令行提供的参数数量 (argc
),并据此采取操作。
或者,如果您想要 conditional compilation ,阅读有关 #ifdef
/#ifndef
的内容可能会有所帮助。
关于c - 编译后忽略部分代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29893231/