Вы также можете использовать IncrementAtomic () и DecrementAtomic () через CoreServices:
#include <CoreServices/CoreServices.h>
int main(int argc, char** argv)
{
int val = 0;
IncrementAtomic(&val);
DecrementAtomic(&val);
return 0;
}
Примечание: возвращаемым значением этих функций является значение целого числа перед , которое увеличивается, поэтому если вы хотите, чтобы поведение, аналогичное функциям Win32 InterlockedIncrement () и InterlockedDecrement (), вам необходимо создать оболочки, которые +1 к возвращаемому значению.