能不能解释一下,代码不是顺序执行的吗
只有数据依赖关系才会禁止指令重排序,1.1和1.2没有数据依赖关系,2.1和2.2是控制依赖关系,所以也会进行重排序
不懂,有没有懂得,再解释下
代码的执行顺序不一定就是代码的书写顺序。编译器或者处理器在执行的时候,为了提高运行效率和性能,会做一些优化,因此可能会打乱指令执行顺序。