Связывание модуля C с MASM в Visual Studio - PullRequest
0 голосов
/ 25 мая 2019

Я работаю над большим проектом MASM (я скомпилировал свой код MASM с использованием компилятора ML под VS 2019), и я хотел бы вызвать функцию C, которую я написал, в моем коде MASM.Я много гуглил, но ничего полезного не нашел.Как мне этого добиться?

Когда я просто попытался добавить свой исходный код C в проект и перестроить его, я получил кучу ошибок компоновки (LNK2019), например:

LNK2019 unresolved external symbol __CrtDbgReport referenced in function __CRT_RTC_INIT

LNK2019 unresolved external symbol __CrtDbgReportW referenced in function __CRT_RTC_INITW

LNK2019 unresolved external symbol ___stdio_common_vsprintf_s referenced in function __vsprintf_s_l

Вот скриншот окна ошибок

1 Ответ

0 голосов
/ 27 мая 2019

Отвечая на мой вопрос

Я наконец-то нашел способ сделать это.

Создайте статическую библиотеку (.lib) из вашего модуля C / C ++,

Свойства -> Проект по умолчанию -> Тип конфигурации -> изменить на .lib

, а затем, в вашемкод masm, добавьте следующие строки:

includelib your_generated_lib.lib

(обязательно добавьте свой lib-файл в каталог кода masm)

и добавьте прототипы в свои functoins, например:

function_name PROTO C :DWORD   ;(Just an Example )

Надеюсь, это поможет,

Омер

...