gcc -O3
int i;
for(i=0; i<100; i++)
{
i = i;
}
本来想用上面这样的循环来延迟时间,结果,在gcc用 -O3 编译以后,这个“无用循环”被优化掉了。再试了试
int i, j;
for(i=0; i<100; i++)
{
j = i*i;
}
不行,还是被优化掉了。最后只能这样:
int i, j;
for(i=0; i<100; i++)
{
j = i*i;
}
if(j > 1000)
......
j现在变成了“循环后还要用到的变量”,这样,gcc就无法认出这是无用循环了。
看来 gcc -O3 还是很厉害的。
for(i=0; i<100; i++)
{
i = i;
}
本来想用上面这样的循环来延迟时间,结果,在gcc用 -O3 编译以后,这个“无用循环”被优化掉了。再试了试
int i, j;
for(i=0; i<100; i++)
{
j = i*i;
}
不行,还是被优化掉了。最后只能这样:
int i, j;
for(i=0; i<100; i++)
{
j = i*i;
}
if(j > 1000)
......
j现在变成了“循环后还要用到的变量”,这样,gcc就无法认出这是无用循环了。
看来 gcc -O3 还是很厉害的。
相关文章
- [compiler] gcc下的errno冲突 - 01 21, 2010
- “我能见一下为我做这份晚餐的厨师吗?” - 01 08, 2010
- 小心修复gcc的warning - 12 17, 2009
留言: