Я включаю windows.h и хочу использовать InterlockedAdd в vs2010 и компилирует ошибку «идентификатор не найден», но InterlockedIncrement
может хорошо работать. Я пытаюсь использовать:
#include <intrin.h>
#pragma intrinsic(_InterlockedAdd)
и компилирует ошибку:
предупреждение C4163: «_InterlockedAdd»: недоступно как встроенная функция
1> test10.cpp (107): ошибка C3861: «InterlockedAdd»: идентификатор не найден
Что не так с кодом?
InterlockedAdd
Функция доступна только на платформе Itanium. На платформах x86 и x86-64 вы можете использовать InterlockedExchangeAdd
вместо. Это также добавляет значение к целевой переменной, но возвращает новое значение вместо нового значения.
Других решений пока нет …