C#调用C++dll
2015-05-18 15:33
393 查看
C# 调用C++DLL的问题“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”
2014-09-01 17:10匿名 分类:C/C++ | 浏览 697 次 悬赏:15C#调用C++ 的DLL
错误为:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。” [DllImport("dmailnewclient.dll", EntryPoint = "?dmail_create@@YAHAAIAAUehInformation@@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z", CharSet = CharSet.Ansi,SetLastError = true, CallingConvention = CallingConvention.StdCall)] public static extern int Dmail_Creat(uint handle, ehInformation ehInfor, string errdesc, UInt16 flag = 0); 调用: string errdesc ="111"; int temp = dmailnewclient.Dmail_Creat(t,ehinfo, errdesc);
两边string不是同一个类型,不能通用。 C#无法正确使用C++的string类型。 C++那边应该改为const char*或者const wchar_t* 如果用前者,C#那边CharSet要改为ANSI
相关文章推荐
- c++ c# java 调用 c++ 写的dll
- C# 中静态调用C++dll 和C# 中动态调用C++dll
- C++通过DLL调用C#代码
- C#通过p/invoke调用C++ DLL
- C#调用C/C++动态链接库(.dll)详解
- C#调用C++的Dll(参数和返回值為char* TCHAR*)
- C#调用C++DLL库常见问题
- 在C++ 中 如何调用 C# 写的DLL
- vc(vs)中c++调用C#的DLL
- C#调用C++动态库dll
- c#调用C++ dll 报未将对象引用到设置对象的实例 的解决方案
- C#调用C++ DLL 文件
- C# 中调用C++ DLL (P/Invoke)
- C# 调用C++ dll
- C# 调用C++ CLR dll类库时,实现从 string 到 sbyte* 的转换
- C#调用C++ DLL相关问题
- C#调用C++写的dll,C++调用C++的dll
- C#调用C++编写的COM DLL
- c#调用c++封装dll 参数为字符串输出函数的解决办法
- C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)