在WindowsAPI的,有爲什麼沒有InterlockedExchangeSubtract64?
InterlockedExchangeAdd
InterlockedExchangeAdd64
InterlockedExchangeSubtract
爲什麼沒有InterlockedExchangeSubtract64
?
我想在64位值(LONGLONG
)上執行原子操作,而不必使用互斥鎖。
在WindowsAPI的,有爲什麼沒有InterlockedExchangeSubtract64?
InterlockedExchangeAdd
InterlockedExchangeAdd64
InterlockedExchangeSubtract
爲什麼沒有InterlockedExchangeSubtract64
?
我想在64位值(LONGLONG
)上執行原子操作,而不必使用互斥鎖。
簡單地否定您傳遞給InterlockedExchangeAdd64
的操作數。換句話說,使用x - y
等於x + (-y)
的事實。
我會盡快回復您的答案,但我還沒有足夠好的聲望。雖然謝謝! –
如果有人給你y = INT_MIN,你可以通過否定它來調用未定義的行爲。 – jonesmz
因爲沒有必要。 –
@JohnDibling也許更好的問題是爲什麼'InterlockedExchangeSubtract'存在! ;-) –
@DavidHeffernan:確實。 –