首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

类似下面的代码如果开了编译优化,会不会被忽视掉,多谢,最好说明点理由

2012-04-26 
类似下面的代码如果开了编译优化,会不会被忽视掉,谢谢,最好说明点理由for(i 0 i 0xF i++)//此时有任务

类似下面的代码如果开了编译优化,会不会被忽视掉,谢谢,最好说明点理由
for(i= 0; i< 0xF; i++)//此时有任务切换,延迟一段时间
  { }

[解决办法]
自己用编译器试试就知道了。
[解决办法]
会优化,这个延迟不会生成任何汇编代码,此后引用到的i将会直接被0xF常数所代替。

这个是编译器最基础的优化功能。要详细理由的话,翻编译原理。
[解决办法]
正常的编译器应该都会忽视掉吧。
具体你可以验证编译后生成的汇编文件,

只有理由嘛
像这种都最终的计算结果没有任何影响的src没有理由不去掉啊。


[解决办法]
volatile int i;
[解决办法]

C/C++ code
       #include <unistd.h>       unsigned int sleep(unsigned int seconds); 

热点排行