开发者社区 问答 正文

如何抑制编译器重排?

如何抑制编译器重排?

展开
收起
呆呆宝 2024-05-22 11:09:30 64 分享 版权
1 条回答
写回答
取消 提交回答
  • 抑制编译器重排可以通过以下三种方式来实现:一是把对应的变量声明为volatile,C++标准保证对volatile变量间的访问编译器不会进行重排;二是在需要的地方手动添加合适的Memory Barrier指令,其语义保证了编译器不会进行错误的重排操作;三是把对应变量声明为atomic,C++标准也保证atomic变量间的访问编译器不会进行重排。

    2024-05-22 12:22:14
    赞同 1 展开评论
问答分类:
问答地址: