Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ InterconnectedExchange Visual Studio 2010内部版本_C++_Visual Studio 2010_Atomic_Intrinsics_Interlocked - Fatal编程技术网

C++ InterconnectedExchange Visual Studio 2010内部版本

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 此外,您充分阅读了您的报价

我在编译器的优化设置中启用了intrinsic,但是,InterlockedExchange的结果代码生成对kernel32.dll的调用,而不是生成内联程序集。这一问题尤其严重,因为Vista之前的windows版本不提供该功能


声明“此函数在可能的情况下使用编译器内部实现”。有没有可能让编译器使用实际的内部代码进行InterlockedExchange?

联锁的内部代码需要下划线前缀(或
#pragma intrinsic
),因此如果要使用,还需要包含
intrin.h

此外,您充分阅读了您的报价,其中写道:

此函数使用编译器内部实现,其中 可能的有关更多信息,请参阅Winbase.h头文件和 \u联锁交换


文档(请参阅您自己的链接)上说:“受支持的最低客户端-Windows 2000 Professional”我实际上使用的是InterlocateExchange 64,它仅在Vista及更高版本上可用。