主要内容

内存管理和清理

概述

生成的C ++代码通过对象析构函数和垃圾收集提供一致的垃圾收集马铃薯®运行内部内存管理器优化以避免堆碎片。

如果系统上仍存在内存约束,请在MATLAB中尝试预分配阵列。这将减少对内存管理器的调用次数,以及堆片段的程度。

将MXArrays传递给共享库

当AN.mxarray.在使用该应用程序中创建Matlab运行时,它是在托管存储空间中创建的Matlab运行时

因此,你永远不会创造它是非常重要的mxarray.S(或呼叫任何其他MATLAB函数)在呼叫之前Mclinitializapplication

打电话是安全的mxdestroyarray.当你不再需要一个特定的时候mxarray.在您的代码中,即使在MATLAB中的持久性或全局变量分配给输入时,即使在该代码中也是如此。MATLAB使用参考计数以确保何时mxdestroyarray.被调用,如果对底层数据的另一个引用仍然存在,则内存将不会被释放。即使底层记忆没有释放,也是mxarray.传递给mxdestroyarray.将不再有效。

有关的更多信息MclinitializapplicationMCLTerMinateApplication, 看致电C共享库

有关的更多信息mxarray., 看C矩阵API.