首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C# 调用C++ DLL编码有关问题

2012-10-12 
C# 调用C++ DLL编码问题今天用C#调用C++写的一个DLL?死活不成功?而我在c++里面测试一点问题没有。?搞了一天

C# 调用C++ DLL编码问题

今天用C#调用C++写的一个DLL

?

死活不成功

?

而我在c++里面测试一点问题没有。

?

搞了一天终于debug出来了,

?

在C#里面传给DLL函数一个文件路径找不到,

?

后来经过断点调试发现 最后一个参数 DBFilename 在DLL里面找不到文件

?

        [DllImport(_DLLFileName, EntryPoint = "?getFeatureByUid@CmobileDetect@@QAEHHPAEPB_W@Z", CallingConvention = CallingConvention.ThisCall)]        private static extern int __getFeatureByUid(__FDSdll* p, int uid, byte[] feature, string DBFileName);

无奈N久,搜百度,找Google 也没到原因所在,无奈MSDN看参数列表说明。

?

一个个测试,最终发现添加一个“?CharSet = CharSet.Unicode” 大功告成

?

   ?[DllImport(_DLLFileName,    EntryPoint = "?getFeatureByUid@CmobileDetect@@QAEHHPAEPB_W@Z",     CallingConvention = CallingConvention.ThisCall,    CharSet = CharSet.Unicode)]    ?

热点排行