C# 调用 C++ dll 的一些问题
来源:互联网 发布:网络诈骗形式 编辑:程序博客网 时间:2024/05/16 01:07
今日使用C# 来调用自己用C++ 写得dll,在调试的过程中遇到了一些问题,现记录下来,以备查看。
C++ dll 部分的声明如下:
#define DllDemoAPI __declspec(dllexport)
#ifdef __cplusplus
extern "C" {
#endif
DllDemoAPI int _stdcall add(int a,int b);
#ifdef __cplusplus
}
#endif
一开始在Debug下,一切还挺顺利的,但是切换到release下就有了好多问题。
1.无法找到“*.dll".——解决方法:DllImport(@"D:\*\*.dll"),包含全路径就可以了。
2.无法找到程序入口点。经dumpbin 查看导出函数发现名称不一致。
debug时的函数名:
release时的函数名:
将函数入口点名称改成“_add@8”后出现错误提示“PInvokestackImbalance”。
3.“PInvokestackImbalance”的错误——解决方法:CallingConvention = CallingConvention.Cdecl。同时将C++中的_stdcall去掉,此时生成的dll的函数名
至此,问题解决。
0 0
- C# 调用 C++ dll 的一些问题
- C# 调用 c++ dll 的一些问题总结
- 关于c#调用c++ dll 的一些问题和解决方案
- C#调用C的DLL
- c#调用API 和c++dll的参数问题
- C#调用c++Dll结构体数组指针的问题
- C#调用c++Dll结构体数组指针的问题
- C#调用c++Dll结构体数组指针的问题
- C#调用c++Dll结构体数组指针的问题
- C#调用C++Dll字符串返回为空的问题
- C#调用c++Dll结构体数组指针的问题
- C# 调用C++dll string传递问题
- C#调用C++dll传参问题
- c# 调用c/c++ dll 参数问题
- 关于c#调用c++dll问题
- C#中调用C++dll错误问题
- C#调用C++ dll或C dll问题
- c#dll调用的一些方法
- vm三种连接方式bridge, nat, host-only
- Android Studio科普篇——2.误区
- redis的java客户端Jedis简单封装
- 在Nginx下针对IP和目录限速
- Android和C#实现实时视频传输Demo
- C# 调用 C++ dll 的一些问题
- 屏蔽CListCtrl选择功能
- Apache 防止未授权域名指向服务器
- 在sun solaris上安装oracle 11g
- 可以使用免费wifi啦
- 开始学习swift,资料汇总帖
- Ubuntu停gedit的java编译设置
- 项目管理中的软件实施
- ireport使用遇到的部分问题