回复: 不能多次调用Matlab生成的COM接口函数,奇怪!
会不会是Matlab内存本身的管理问题?还是用 Matlab 创建 COM 有什么特殊要设置的地方?
我在Matlab程序中分配了一个大的矩阵(约2500×2500),问题就在这里。当没有这个大矩阵的时候,程序就可以被调用很多次。
各位大侠,可以做个简单的实验看看:在Matlab程序中只要加入 a=ones(2500)等类似的分配。那么,只要用COM方式反复调用这个Matlab函数,检查调用该函数的HRESULT结果,就会发现这个问题。各机器的环境可能会有不一样,我觉得只要分配的矩阵足够大,这个错误就会发生。
我的Matlab是2007a,VC6.0和.NET 2003 都用过,全是这样的结果。
如果这样的问题不解决,那根本无法安全的用Matlab写算法来被VC调用了。
各位大侠,帮忙查查原因啊!
|