我在 c# 中使用本机 C++ dll,如下所示:
C++ 函数:
poly* f1(/*some input data*/);
double* f2(poly* p);
在 c# 中,我正在做:
(这是适当地使用不安全和固定的块来完成的,所以不用担心)
void* ptr = f1(/*input data*/);
double[] result = f2(ptr);
现在,如果我从 打印数据f2
,我会得到一些损坏的数据,垃圾值。有些值是正确的。我想知道,是因为将其保存在 void 指针中ptr
吗?还是那很好,原因是别的?