读书人

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

发布时间: 2012-01-07 21:41:55 作者: rapoo

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经常有这个问题,有时总是勉强写对了,参数和其他数据结构的转换总是不太清楚.期待有高手好好解释一下这方面知识

读书人网 >C#

热点推荐