Ошибка при вызове masm64 функции из C

я пытаюсь скомпилировать masm64 функцию и вызвать её из C в visual studio 2019. При компиляции отдельно ассемблерного файла всё проходит удачно, однако при попытке подружить ассемблер с C возникают ошибки. Что они означают и как можно их исправить? (Я почти уверен, что проблема в настройках проекта)Asm

C


Ответы (1 шт):

Автор решения: Harry

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

Это аналог компиляторов языков ассемблера и С в объектный файл, который потом собирается в одну программу.

Но если вы дадите переводчику текст, в котором половина английская, половина французская?... Переводчик просто скажет - "а тут идет не пойми что, это я не знаю, ошибка перевода, это не английское слово, не английская грамматика".

Что вам и говорит компилятор.

Максимум, что вы можете использовать в исходном тексте С (кстати, почему в С? вы же компилируете С++) - это ассемблерные вставки (В VC++ - __asm), со всеми их ограничениями.

→ Ссылка