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 还是很厉害的。

相关文章

分类

留言:

关于文章

This page contains a single entry by DongHao published on 03 19, 2009 12:45 PM.

linux内核 address_space 结构 was the previous entry in this blog.

空中花园 is the next entry in this blog.

Find recent content on the main index or look in the 存档 to find all content.