类似下面的代码如果开了编译优化,会不会被忽视掉,谢谢,最好说明点理由
for(i= 0; i< 0xF; i++)//此时有任务切换,延迟一段时间
{ }
[解决办法]
自己用编译器试试就知道了。
[解决办法]
会优化,这个延迟不会生成任何汇编代码,此后引用到的i将会直接被0xF常数所代替。
这个是编译器最基础的优化功能。要详细理由的话,翻编译原理。
[解决办法]
正常的编译器应该都会忽视掉吧。
具体你可以验证编译后生成的汇编文件,
只有理由嘛
像这种都最终的计算结果没有任何影响的src没有理由不去掉啊。
[解决办法]
volatile int i;
[解决办法]
#include <unistd.h> unsigned int sleep(unsigned int seconds);