Windows 98环境中的InterlockedCompareExchange

时间:2014-03-04 13:10:25

标签: winapi interlocked windows-98

我被迫在windows 98 se中运行一些应用程序。 vc6有一个奇怪的InterlockedCompareExchange定义:

void* InterlockedCompareExchange(void**, void*, void*);

msdn这样定义它(因为windows xp):

LONG InterlockedCompareExchange(LONG*, LONG, LONG);

有没有人记得如何使用它(我需要自动获取互锁变量的值)?

1 个答案:

答案 0 :(得分:0)

Windows 98不支持64位,因此void*LONG的字节大小相同。大多数操作系统实际使用LONG定义,但如果VC6使用`void *,那么只需在需要的地方输入:

LONG value;
LONG ret = (LONG) InterlockedCompareExchange((void**)&value, (void*)ExchangeValue, (void*)CompareValue);