c ++ / MATLAB Mex绑定

时间:2012-03-27 08:05:57

标签: c++ matlab mex

我即将编写一个Mex文件,因此我可以在MATLAB中使用我的c ++代码。

此代码围绕单例类(用c ++编写)。

我已经读过内存要持久化我必须使用MxAlloc而不是malloc / new,这对我使用的所有内存都是如此吗?即,我使用向量,向量使用标准机制自动分配新内存。

使用MxAlloc分配的类中的向量是否会在保存内存时遇到问题?

1 个答案:

答案 0 :(得分:7)

您只能将MxAlloc用于要返回Matlab的数据。保留在图书馆内的所有内容都可以正常分配。

您可能想要注意的一个问题是您的库可以随时卸载。通常,当用户调用mexFunction时,库将被加载并保持加载以用于后续调用。但是,Matlab可以随时卸载您的库,因此将释放mexFunction中的所有资源。