Ошибка при вызове masm64 функции из C
я пытаюсь скомпилировать masm64 функцию и вызвать её из C в visual studio 2019. При компиляции отдельно ассемблерного файла всё проходит удачно, однако при попытке подружить ассемблер с C возникают ошибки. Что они означают и как можно их исправить? (Я почти уверен, что проблема в настройках проекта)
Ответы (1 шт):
Ну как бы вам сказать... Есть переводчик с английского, который знает только английский. Есть такой же француз. Вы даете каждому свой текст, они переводят, далее эти два текста складываются в один большой, все нормально.
Это аналог компиляторов языков ассемблера и С в объектный файл, который потом собирается в одну программу.
Но если вы дадите переводчику текст, в котором половина английская, половина французская?... Переводчик просто скажет - "а тут идет не пойми что, это я не знаю, ошибка перевода, это не английское слово, не английская грамматика".
Что вам и говорит компилятор.
Максимум, что вы можете использовать в исходном тексте С (кстати, почему в С? вы же компилируете С++) - это ассемблерные вставки (В VC++ - __asm), со всеми их ограничениями.
