我正在做一个大型MASM项目(我已在VS 2019下使用ML编译器编译了我的MASM代码),我想在我的MASM代码中调用我编写的C函数。我在Google上搜索了很多,但是找不到任何有用的东西。我该如何实现?

当我只是尝试将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

Here is a screenshot of the errors window

最佳答案

回答我的问题

我终于想出了一种方法。

从您的C / C ++模块创建一个静态库(.lib)。

属性->项目默认值->配置类型->更改为.lib

然后,在您的Masm代码中,添加以下行:

includelib your_generated_lib.lib


(确保将您的lib文件添加到masm代码的目录中)

并向您的functoins添加原型,如下所示:

function_name PROTO C :DWORD   ;(Just an Example )


希望能帮助到你,

Omer

关于c - 将C模块链接到Visual Studio中的MASM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56305663/

10-10 13:30