查看单个帖子
旧 2008-09-04, 21:29   #1
HustJames
初级会员
 
注册日期: 2008-08-30
年龄: 45
帖子: 4
声望力: 0
HustJames 正向着好的方向发展
默认 回复: 不能多次调用Matlab生成的COM接口函数,奇怪!

会不会是Matlab内存本身的管理问题?还是用 Matlab 创建 COM 有什么特殊要设置的地方?

我在Matlab程序中分配了一个大的矩阵(约2500×2500),问题就在这里。当没有这个大矩阵的时候,程序就可以被调用很多次。

各位大侠,可以做个简单的实验看看:在Matlab程序中只要加入 a=ones(2500)等类似的分配。那么,只要用COM方式反复调用这个Matlab函数,检查调用该函数的HRESULT结果,就会发现这个问题。各机器的环境可能会有不一样,我觉得只要分配的矩阵足够大,这个错误就会发生。

我的Matlab是2007a,VC6.0和.NET 2003 都用过,全是这样的结果。

如果这样的问题不解决,那根本无法安全的用Matlab写算法来被VC调用了。

各位大侠,帮忙查查原因啊!
HustJames 当前离线   回复时引用此帖