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

C#调用c++ dll一问,该如何处理

2012-01-07 
C#调用c++ dll一问c++dll原型:structmyStruct{byte*mymember}intmyfunc(myStruct*theStruct)c#中调用此d

C#调用c++ dll一问
c++   dll   原型:
struct   myStruct
{
      byte*   mymember;
}

int   myfunc(myStruct*   theStruct);

c#中调用此dll中的myfunc(),该如何在c#下定义结构体myStruct?unsafe下可以通过同样的定义指针解决,但是非unsafe下怎么搞定?

[解决办法]
struct myStruct
{
byte mymember[];
}
[解决办法]
帮顶
[解决办法]
struct myStruct
{
byte[] mymember;
}
使用时
myStruct m = new myStruct();
m.mymember = new byte[255];

m.mymember = ...GetBytes

[解决办法]
我感觉是.net下操作不是实际内存地址,跟C++不一样.引用动态dll经常有这个问题,有时总是勉强写对了,参数和其他数据结构的转换总是不太清楚.期待有高手好好解释一下这方面知识

热点排行