比如:编译器在对代码进行编译时,生成可执行代码时,可以采取相应的优化措施,比
如对同一个变量的多次操作,可能编译器生成的机器指令是:第一个从内存取数据,第
二次就直接从寄存器里取数据,这样,可以提高执行速度,但是这样,就会带来另一个
问题,如果这个变量如果在第二次被使用之前,被其它的地方修改了,则这个优化来的
操作就会导致问题,对吧,这样,在语法定义时,C语言就增加了相关的语法约定,
volatile这个关键字,禁止编译器对代码进行优化,就可以起到这样的作用,所以说,优
化与不优化,都是源于现实的需求,优化,可以提高速度,但会导致指令错误,不优化
,可能反复执行同样指令而浪费CPU时间,但不会有指令的相关性问题。从这种角度来
看等待计算机,其实,计算机就是一种哲学,来于实际,指导实践。