Closed. This question needs to be more focused. It is not currently accepting answers. Learn more
想改进这个问题吗?更新问题,使其只关注一个问题editing this post
三年前关闭。
我想知道编译器是否在编译时优化参数已知的C函数?
例如,在下面的代码中,由于已知OR(||)函数的参数之一为true,因此if函数的条件将始终为true。会自动优化吗?它能推广到所有的C函数吗?
#define COND 1
int main(void)
{
    if(rand()%8<7 || COND)
        /*something*/
    return 0;
}

最佳答案

编译器可以优化代码中的if语句,因为条件始终为true这是允许的,好像规则。但这是否完成取决于编译器及其优化级别。

关于c - 如果在编译时进行优化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35201932/

10-16 03:23
查看更多