Встроенные файлы сборки в Visual Studio - PullRequest
2 голосов
/ 19 января 2010

Я сделаю это коротко и точно. Блок _asm был полностью удален при создании 64-битного кода в Visual Studio. Мой вопрос: где я могу найти некоторую информацию о том, как использовать ассемблер в некотором коде, который я могу вызвать из моего проекта. Как и в случае сборочного файла, я полагаю, что он имеет некоторую «оптимизированную» функцию, которую я могу вызвать непосредственно в моем источнике C ++.

Ответы [ 2 ]

2 голосов
/ 20 января 2010

Один из подходов - написать шаблон C для вашей функции ассемблера, а затем использовать /FAs для генерации исходного кода ассемблера для этого шаблона функции. После этого вы сможете использовать сгенерированный исходный код на ассемблере вместо исходного шаблона C и строить оттуда. Таким образом, вы автоматически позаботитесь обо всех беспорядочных, подверженных ошибкам вещах ABI.

2 голосов
/ 19 января 2010

Если вы пишете внешний файл сборки, вам нужно убедиться, что он поддерживает соглашение о вызовах компилятора. Это не слишком сложно, хотя. Конечно, вы могли бы просто использовать встроенные функции и позволить компилятору сделать для вас регистр и переупорядочение команд ...

...