Использование ASM при компиляции x64 C ++ с MSVC10 - PullRequest
3 голосов
/ 26 августа 2010

Из-за того, что MSVC10 не позволяет использовать встроенные инструкции ASM при нацеливании на архитектуру x64, я ищу любые способы обойти такие ограничения. Из изучения Google я узнал, что написание и компиляция отдельных модулей ASM, а затем связывание с ними и вызов их из C ++ - это один из способов, однако я понятия не имею, как мне это сделать. Есть ли другие способы, кроме использования встроенных функций компилятора? Или как можно написать / скомпилировать / связать отдельные модули ASM в VS2010?

1 Ответ

3 голосов
/ 26 августа 2010

Вы можете использовать отдельную программу на ассемблере, которая скомпилирует полные исходные файлы на ассемблере в объектные файлы.Если вы соблюдаете правильные соглашения о вызовах, вы можете предоставить прототипы для функций, которые будут использоваться в C ++, чтобы связать вместе сгенерированные объектные файлы C ++ и ASM.Он использует синтаксис Intel, поддерживает Windows x64 и VS2010 интеграции .Он имеет полезный макрос и включает в себя функции.Я должен признаться, что мне не приходилось использовать его с VS2008, когда интеграция работала немного иначе, но он должен хорошо работать с VS2010.

...