我已经包含windows.h,并且想要在vs2010中使用InterlockedAdd并编译错误“找不到标识符”,但是InterlockedIncrement可以很好地工作。我尝试使用:

#include <intrin.h>
#pragma intrinsic(_InterlockedAdd)

并编译错误:



代码有什么问题?

最佳答案

InterlockedAdd函数仅在Itanium平台上可用。在x86和x86-64平台上,可以改为使用InterlockedExchangeAdd。这还会向目标变量添加一个值,但它会返回原始值而不是新值。

09-13 10:58