其实最简单的例子就是下面这个
void delay()
{
int i;
for(i = 0; i < 5000;i++)
}
如果 i 没有定义成volatile上面的这个延时函数可能就没有作用,编译器认为你这段程序没有任何意义就会优化掉。
当然有些编译器也许能明白你这段函数的意义就不会优化掉
其实最简单的例子就是下面这个
void delay()
{
int i;
for(i = 0; i < 5000;i++)
}
如果 i 没有定义成volatile上面的这个延时函数可能就没有作用,编译器认为你这段程序没有任何意义就会优化掉。
当然有些编译器也许能明白你这段函数的意义就不会优化掉
举报