生成的C ++代码通过对象析构函数和垃圾收集提供一致的垃圾收集马铃薯®运行内部内存管理器优化以避免堆碎片。
如果系统上仍存在内存约束,请在MATLAB中尝试预分配阵列。这将减少对内存管理器的调用次数,以及堆片段的程度。
当AN.mxarray.
在使用该应用程序中创建Matlab运行时,它是在托管存储空间中创建的Matlab运行时。
因此,你永远不会创造它是非常重要的mxarray.
S(或呼叫任何其他MATLAB函数)在呼叫之前Mclinitializapplication
。
打电话是安全的mxdestroyarray.
当你不再需要一个特定的时候mxarray.
在您的代码中,即使在MATLAB中的持久性或全局变量分配给输入时,即使在该代码中也是如此。MATLAB使用参考计数以确保何时mxdestroyarray.
被调用,如果对底层数据的另一个引用仍然存在,则内存将不会被释放。即使底层记忆没有释放,也是mxarray.
传递给mxdestroyarray.
将不再有效。
有关的更多信息Mclinitializapplication
和MCLTerMinateApplication
, 看致电C共享库。
有关的更多信息mxarray.
, 看C矩阵API.。