【问题标题】:C - optimal way to check if not equalC - 检查是否不相等的最佳方法
【发布时间】:2017-05-12 18:50:00
【问题描述】:

以下块的最佳代码是什么:

if (a != b)
    a = b

【问题讨论】:

  • 最佳方式就是a = b;
  • 甚至根本没有代码?取决于之后(和/或之前,实际上)发生了什么。
  • @WeatherVane:可能值得一提的是,像这样替换原始代码可能理论上会在多线程程序中引入数据竞争。
  • @WeatherVane 如果一个人是volatile,那就大不相同了。
  • 或者如果其中一些是宏..

标签: c optimization x86


【解决方案1】:

你可以这样做

a = b;

因为这样每次只会运行一个赋值,而不是进行条件检查和赋值。

【讨论】:

  • 在 asm(intel 语法)中,只需 mov b,a
猜你喜欢
  • 2019-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-16
  • 1970-01-01
  • 2011-10-18
  • 1970-01-01
相关资源
最近更新 更多