c - 编译后忽略部分代码

标签 c function gcc compilation

我的代码看起来像这样

while(!eof)
{
   if(A)
     doSomething;
   if(B)
     doSomething;
}

A 和 B 是来自命令行的参数。还可能有更多参数。我有 bool 结构,其中包含所有可能的参数,并且对于每个参数,它确定他是否存在。

我可以让编译器不读取代码的某些部分吗?

我的意思是,在这段代码中,他将在每次迭代时检查 B 是否存在。我想要实现的是他只会检查一次

 if(B)
    doSomething;

我希望这只是为了优化我的程序,并且我需要在一个周期中同时拥有两个 if。

最佳答案

坦率地说,编译后忽略部分代码是没有意义的。代码已经编译好了。然而。您可以使用条件语句跳过代码某些部分的执行,例如ifelse-if等。

FWIW,“命令行参数”是在运行时提供和考虑的。您无法根据编译时的情况来决定(条件编译)。

但是,如果您愿意,您可以随时检查通过命令行提供的参数数量 (argc),并据此采取操作。

或者,如果您想要 conditional compilation ,阅读有关 #ifdef/#ifndef 的内容可能会有所帮助。

关于c - 编译后忽略部分代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29893231/

相关文章:

在linux nasm汇编中调用C IO函数

c - FIFO 读入 c 得到段错误

python - 奇怪的语法错误(Python 新手)

c++ - Qt4: QMap导致 "strict-aliasing rules"编译错误

python - 如何在 Python 中将变量从一个函数导入到另一个函数?

c++ - "void SomeFunction(int, void*)"是什么意思?

c - GCC 更改为小于或等于

c - epoll_ctl : Operation not permitted error - c program

C 结构体包含脏数据,我不明白为什么?

c - 在Linux中以编程方式运行pdftotext xpdf y.text?