我即将编写一个Mex文件,所以我可以在MATLAB中使用我的c ++代码.
此代码围绕单例类(在c ++中)构建.
我已经读过,因为内存要持久,我必须使用MxAlloc而不是malloc/new,这对我使用的所有内存都是如此吗?即,我使用矢量的类,矢量使用标准机制自动分配新的内存.
因此,使用MxAlloc分配的类中的向量是否难以保持其内存?
您只能将MxAlloc用于要返回Matlab的数据.保留在库中的所有内容都可以正常分配.
您可能想要注意的一个问题是您的库可以随时卸载.通常,当用户调用mexFunction时,库将被加载并保持加载以用于后续调用.但是,Matlab可以随时卸载您的库,因此将释放mexFunction中的所有资源.