【发布时间】:2012-06-13 07:34:54
【问题描述】:
我一直在将 linux 应用程序移植到 windows 平台。
这里是linux代码,
__asm__ __volatile__ ("lock; cmpxchgl %1, %2"
: "=a" (prev)
: "q" (new_value), "m" (*ptr), "0" (old_value)
: "memory");
我尝试使用 _asm volatile,但在 Visual Studio 2012 中出现错误提示“'opcode' 中的内联汇编语法错误;发现 '数据类型'”。
我需要一些 Windows 等效代码。 请提供任何信息/建议。
【问题讨论】:
-
你的编译器肯定有原子操作的内在函数吗?无需编写自己的汇编程序...
标签: visual-c++ assembly