C++ InterconnectedExchange Visual Studio 2010内部版本
我在编译器的优化设置中启用了intrinsic,但是,InterlockedExchange的结果代码生成对kernel32.dll的调用,而不是生成内联程序集。这一问题尤其严重,因为Vista之前的windows版本不提供该功能C++ InterconnectedExchange Visual Studio 2010内部版本,c++,visual-studio-2010,atomic,intrinsics,interlocked,C++,Visual Studio 2010,Atomic,Intrinsics,Interlocked,我在编译器的优化设置中启用了intrinsic,但是,InterlockedExchange的结果代码生成对kernel32.dll的调用,而不是生成内联程序集。这一问题尤其严重,因为Vista之前的windows版本不提供该功能 声明“此函数在可能的情况下使用编译器内部实现”。有没有可能让编译器使用实际的内部代码进行InterlockedExchange?联锁的内部代码需要下划线前缀(或#pragma intrinsic),因此如果要使用,还需要包含intrin.h 此外,您充分阅读了您的报价
声明“此函数在可能的情况下使用编译器内部实现”。有没有可能让编译器使用实际的内部代码进行InterlockedExchange?联锁的内部代码需要下划线前缀(或
#pragma intrinsic
),因此如果要使用,还需要包含intrin.h
此外,您充分阅读了您的报价,其中写道:
此函数使用编译器内部实现,其中
可能的有关更多信息,请参阅Winbase.h头文件和
\u联锁交换
文档(请参阅您自己的链接)上说:“受支持的最低客户端-Windows 2000 Professional”我实际上使用的是InterlocateExchange 64,它仅在Vista及更高版本上可用。