C#调用C++ DLL,怪事

IamsorryToyou 2013-04-17 11:08:08

C++ DLL里有一个函数
BOOL MyFun(char *pparter1,char *pparter2);

C#调用时
[DllImport("MyCplusDLL.dll", CallingConvention = CallingConvention.Cdecl)]
private static extern bool MyFun(IntPtr pParter1,IntPtr pParter2);


IntPtr pParter1 = Marshal.AllocHGlobal(256);
IntPtr pParter2 = Marshal.AllocHGlobal(256);
if(!MyFun(pParter1,pParter2))
{
}
MyFun()直接崩溃,弹出VS调试界面,但点进去后又没有任何信息.
根本没有进入C++MyFun函数执行一句代码!

更奇怪在是两台Windows 2003电脑,一台本程序正常运行,一台在上述位置崩溃!

...全文
94 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangchangming 2013-04-17
  • 打赏
  • 举报
回复
异常提示是什么
qldsrx 2013-04-17
  • 打赏
  • 举报
回复
Windows 2003有个数据执行保护,试试关闭它。
IamsorryToyou 2013-04-17
  • 打赏
  • 举报
回复




现在发现用C++去调用也会出一样的问题.

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧