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

C#调用C++动态链接库报内存异常

2012-11-06 
C#调用C++动态链接库报内存错误C#调用C++的一个动态链接库,调用的方法有一个参数是结构体,我在C#中也声明

C#调用C++动态链接库报内存错误
C#调用C++的一个动态链接库,调用的方法有一个参数是结构体,我在C#中也声明了结构体,但是每次调用都会报尝试读取或写入受保护的内存。这通常指示其他内存已损坏。 是不是我在C#中声明的结构体与C++的结构体数据类型不一致导致的?

[解决办法]
假设你的 NAME_LEN 和 PASSWD_LEN 没错,还有两处
char sDVRIP[16];
WORD wDVRPort;
对应
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 16)]
public byte[] sDVRIP;
public ushort wDVRPort;
[解决办法]
某家硬盘录像机的SDK吧:)

public int wDVRPort;
改成
public ushort wDVRPort;

其他应该都是正确的。。。

热点排行