почему InterlockedAdd не доступен в vs2010?

Я включаю windows.h и хочу использовать InterlockedAdd в vs2010 и компилирует ошибку «идентификатор не найден», но InterlockedIncrement может хорошо работать. Я пытаюсь использовать:

#include <intrin.h>
#pragma intrinsic(_InterlockedAdd)

и компилирует ошибку:

предупреждение C4163: «_InterlockedAdd»: недоступно как встроенная функция
1> test10.cpp (107): ошибка C3861: «InterlockedAdd»: идентификатор не найден

Что не так с кодом?

8

Решение

InterlockedAdd Функция доступна только на платформе Itanium. На платформах x86 и x86-64 вы можете использовать InterlockedExchangeAdd вместо. Это также добавляет значение к целевой переменной, но возвращает новое значение вместо нового значения.

15

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]