关于结构体和指针问题
C#程序,需要调用一个DLL,DLL给出的一个函数,参数是指向结构体数组的指针。
C++函数的实现
struct FPOINT { double x;double y;};
void DlgTest::OnButton(){
FPOINT st[2]={0.1,0.2,0.99,0.33};
TestFunc((LONG) st,2)
}
现在希望能在C#中实现改类似过程。。
不知道如何传递这个struct指针,忘达人们指教啊。。。
------解决方案--------------------// 没有测试环境,只能乱猜几个
// 试试看使用ref传,ref传递的实际为指针,但是不知道是否可行
this.axClient1.TestFunc(ref pt, 3);
// 试试看将起始数据的指针传递。因为数组结构中,数据都是连续的
// 所以传递第一个数据的指针过去
fixed (double* px = &(pt[0].x))
{
this.axClient1.TestFunc(px, 3);
}