Итак, я пытаюсь создать оболочку .dll (32-битную x86) в C ++, и мне нужно написать функции оболочки для ассемблераЯ попытался использовать встроенный ассемблер в сочетании с __declspec (naked), но это не сработало для конструкторов C ++ (компилятор все еще генерировал код).
Я пытался обойти это, написавс необработанными файлами ассемблера напрямую. Прежде чем что-то делать с MASM (и вызывать любую из моих ассемблерных функций), мой проект компилируется и связывается нормально. Чтобы иметь возможность использовать MASM, я зашел в «Настройки сборки» и включил MASM. После этого я получаю кучу ошибок компоновщика с, казалось бы, не связанными функциями:
Error LNK2001 unresolved external symbol _memset SoundEngine D:\Home\Documents\Git\SoundEngine\SoundEngine\MSVCRT.lib(utility_desktop.obj) 1
Severity Code Description Project File Line Suppression State
Error LNK2001 unresolved external symbol _free SoundEngine D:\Home\Documents\Git\SoundEngine\SoundEngine\MSVCRT.lib(delete_scalar.obj) 1
Severity Code Description Project File Line Suppression State
Error LNK2001 unresolved external symbol __cexit SoundEngine D:\Home\Documents\Git\SoundEngine\SoundEngine\MSVCRT.lib(utility.obj) 1
Severity Code Description Project File Line Suppression State
Error LNK2001 unresolved external symbol __CxxThrowException@8 SoundEngine D:\Home\Documents\Git\SoundEngine\SoundEngine\MSVCRT.lib(throw_bad_alloc.obj) 1
Так как в моем коде даже нет ссылок (по крайней мере, напрямую), как я могу устранить эту ошибку? ?
Меняет ли VS какие-либо параметры искажения имени или компоновщика после включения MASM?