最近在用matlab做一个数据处理,并把这个数据处理的功能嵌入到winform程序里。之前是用matlab导出.Net动态链接库,已经成功实现了这个功能,但是效率太低,一个数据就要1ms。所以就想导出C++的动态链接库,想要提高这个效率。动态链接库已经导出来了,但是在C#中调用的话,数据类型的传入貌似有点问题,算出来总是0。有没有大牛有这方面的经验,分享一下。
下面是我的动态链接库的头文件的内容,还有我在C#里的调用方式,欢迎指导
这个是头文件里的函数声明:
extern LIB_Fit2_C_API bool MW_CALL_CONV mlfFit2(int nargout, mxArray** z, mxArray* xs, mxArray* ys, mxArray* zs, mxArray* x, mxArray* y);
这个是在C#里的调用:
[DllImport("Fit2.dll", EntryPoint = "mlfFit2", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
public static extern bool mlfFit2(int nargout, MWNumericArray z, MWNumericArray xs, MWNumericArray ys, MWNumericArray zs, MWNumericArray x, MWNumericArray y);
调用不会报错,返回true,但是求出的值z是0
希望有大牛指点一二,感激不尽啊