C#调用C++接口

1 System.DllNotFoundException”类型的未经处理的异常在 test.exe 中发生 其他信息: 无法加载 DLL“DLL/AR_ALGORITHM.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

成都网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序制作、集团成都企业网站建设等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:房屋鉴定等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞誉!

该问题的原因是程序无法找到AR_ALGORITHM.dll,通常程序在bin目录下,system32目录下,和程序运行所处的当前目录查找

2“System.EntryPointNotFoundException”类型的未经处理的异常在 test.exe 中发生 

其他信息: 无法在 DLL“../../../DLL/AR_ALGORITHM.dll”中找到名为“WGStoGCJ”的入口点。

在C++的函数声明中指定了WINAPI,而在C#重新定义相应的调用却指定了Cdecl,实际上应该指定Winapi,或者简单的方式是什么也不用指定

[DllImport("../../../DLL/AR_ALGORITHM.dll", EntryPoint = "WGStoGCJ", CallingConvention = CallingConvention.Cdecl)]

简单正确

[DllImport("../../../DLL/AR_ALGORITHM.dll")]

那从应用上考虑,注明WINAPI和不注明WINAPI的函数在使用用上有什么差别或注意的地方?

那就是系统和不是系统函数的区别

从应用上讲,区别不是很大,只要使用的声明是正确的。

例如你写了一个库函数用的是WINAPI声明的,而别人调用的时候用的声明也要是WINAPI才行,否则运行期会出错

网站栏目:C#调用C++接口
本文地址:https://www.cdcxhl.com/article32/iigcpc.html

成都网站建设公司_创新互联,为您提供移动网站建设外贸建站关键词优化网页设计公司营销型网站建设网站排名

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化