2012-01-25 2 views
2

У меня есть встроенные функции в настройках оптимизации для компилятора, однако полученный код для InterlockedExchange генерирует вызовы в kernel32.dll, а не создает встроенную сборку. Это особенно проблематично, потому что функция недоступна в версиях окон до Vista.InterlockedExchange Visual Studio 2010 Intrinsic

Состояние MSDN documentation «Эта функция реализована с использованием встроенного компилятора, где это возможно». Можно ли заставить компилятор использовать фактический внутренний код для InterlockedExchange?

+0

Документация (см. Вашу собственную ссылку) говорит: «Минимальный поддерживаемый клиент - Windows 2000 Professional» –

+0

Я использую InterlockedExchange64, который доступен только для Vista и выше. –

ответ

3

сблокированные встроенные функции требуют подчеркивания префикс (или #pragma intrinsic), так что вы хотите использовать _InterlockedExchange, вам также необходимо включить intrin.h

также, вы вы полностью прочитать вашу цитату, он говорит, что это:

Эта функция реализована с использованием встроенного компилятора, где возможно . Для получения дополнительной информации см. Заголовочный файл Winbase.h и _InterlockedExchange.

 Смежные вопросы

  • Нет связанных вопросов^_^