Почему Visual С++ больше не поддерживает встроенный ассемблер для Intel 64 и IA-64?


Отказ от поддержки встраиваемого ассемблерного кода (через ключевое слово __asm) при компиляции для 64-битных платформ Intel 64 и IA-64 скорее всего связан с желанием Microsoft упростить работу оптимизатора и разработку новых версий компилятора для Visual C++. Встроенный ассемблерный код ограничивает переносимость разрабатываемого ПО на другие платформы, а оптимизация от его использования в настоящее время редко оправдана – компилятор в большинстве случаев создаст достаточно эффективный код.

В случае, если необходимая функциональность не может быть реализована на уровне C++ кода, для замены ассемблерных вставок вы можете воспользоваться встраиваемыми (intrinsic) функциями или подключить к проекту внешние asm-файлы.

Библиографический список



Найдите ошибки в своем C, C++, C# и Java коде

Предлагаем попробовать проверить код вашего проекта с помощью анализатора кода PVS-Studio. Одна найденная в нём ошибка скажет вам о пользе методологии статического анализа кода больше, чем десяток статей.

goto PVS-Studio;



Найденные ошибки

Проверено проектов
346
Собрано ошибок
13 124

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;