gpt4 book ai didi

c++ - InterlockedExchange 与 InterlockedExchange 指针

转载 作者:搜寻专家 更新时间:2023-10-31 00:40:58 25 4
gpt4 key购买 nike

InterlockedExchangeInterlockedExchangePointer 有什么区别?

if( 0 != InterlockedCompareExchange( ( void** ) &_myVariable
, temp
, 0
) )

if( 0 != InterlockedCompareExchangePointer( ( void** ) &_myVariable
, temp
, 0
) )

等效?

我必须将代码移植到不知道 Interlocked[...]Pointer 函数的 VC6。

编辑:

根据我自己的经验,我知道 VC6 非常有问题,没有人会再使用它。

但是,我不是决策者,非常感谢对原始问题的回答。

最佳答案

InterlockedCompareExchange 采用 32 位变量。

InterlockedCompareExchangePointer 采用指针大小的变量,该变量因目标架构而异。

如果您的目标是 32 位且仅针对 32 位架构,那会很好,但是每当您将目标架构更改为 64 位时,以下代码将编译并表现不佳:

InterlockedCompareExchange( ( LONG volatile * ) _myPointer , 1, 0 ) );

关于c++ - InterlockedExchange 与 InterlockedExchange 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13837688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com