我的代码看起来像这样
while(!eof)
{
if(A)
doSomething;
if(B)
doSomething;
}
A和B是来自命令行的参数。可能还有更多参数。我有Bools的结构,其中包含所有可能的参数,并且对于每个参数,它确定它是否存在。
我可以让编译器不读取代码的某些部分吗?
我的意思是,在这段代码中,他将检查每次迭代是否存在B.我想要实现的是他只会检查一次
if(B)
doSomething;
我希望这只是为了优化我的程序,我需要在一个循环中同时拥有两个if。
答案 0 :(得分:3)
坦率地说,Ignoring part of code after compilation
毫无意义。代码已经编译完毕。然而。您可以使用条件语句跳过代码的某些部分的执行,例如if
,else-if
等。
FWIW,"命令行参数"在运行时提供并考虑。你无法在编译时的基础上决定(条件编译)。
但是,如果需要,您可以随时查看通过命令行提供的参数数量(argc
),并根据该行动采取行动。
或者,如果您想要conditional compilation,请阅读有关#ifdef
/ #ifndef
的内容可能有所帮助。