为什么互锁添加在 vs2010 中不可用

why InterlockedAdd is not available in vs2010?

本文关键字:vs2010 添加 为什么      更新时间:2023-10-16

>我已经包含了 windows.h,并希望在 vs2010 中使用互锁添加并编译错误"找不到标识符",但InterlockedIncrement可以很好地工作。我尝试使用:

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

并编译错误:

警告 C4163:"_InterlockedAdd":不作为内部函数
提供 1>test10.cpp(107):错误 C3861:"互锁添加":找不到标识符

代码有什么问题?

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