Closed. This question needs to be more focused. It is not currently accepting answers. Learn more。
想改进这个问题吗?更新问题,使其只关注一个问题editing this post。
三年前关闭。
我想知道编译器是否在编译时优化参数已知的C函数?
例如,在下面的代码中,由于已知OR(
想改进这个问题吗?更新问题,使其只关注一个问题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/