从MATLAB调用C++代码? 我有一些代码需要在C++中编码,这是因为对模板的依赖性太强。我想从MATLAB调用这个代码:基本上,我需要把一些参数传递给C++代码,并让C++代码返回Matlab的矩阵。我听说这是可能的,我仍在研究一个叫做文件的东西。但是,我不确定这些MEX文件支持什么。是否所有C++都支持和支持?有多困难 < P>编辑:我不需要任何共享库,只需要像SyrdYPPTR之类的头文件。看看C++,特别是第25到27节。 基本/数据结构应该可以工作,但是使用Boost线程可能会出现问题。 在C++中,CUT将无法正常工作,必须使用MyPrimTf。< P> >当然可以编写使用STL和Boost的C++ MEX文件。一般来说,您应该能够在C++ MeX文件中做任何您喜欢的事情。主要的实际限制是MATLAB已经附带了很多库,因此,如果您使用的是需要共享库的boost部件之一,其中一些只是头文件,那么您需要将编译时所使用的版本与MATLAB附带的版本相匹配

从MATLAB调用C++代码? 我有一些代码需要在C++中编码,这是因为对模板的依赖性太强。我想从MATLAB调用这个代码:基本上,我需要把一些参数传递给C++代码,并让C++代码返回Matlab的矩阵。我听说这是可能的,我仍在研究一个叫做文件的东西。但是,我不确定这些MEX文件支持什么。是否所有C++都支持和支持?有多困难 < P>编辑:我不需要任何共享库,只需要像SyrdYPPTR之类的头文件。看看C++,特别是第25到27节。 基本/数据结构应该可以工作,但是使用Boost线程可能会出现问题。 在C++中,CUT将无法正常工作,必须使用MyPrimTf。< P> >当然可以编写使用STL和Boost的C++ MEX文件。一般来说,您应该能够在C++ MeX文件中做任何您喜欢的事情。主要的实际限制是MATLAB已经附带了很多库,因此,如果您使用的是需要共享库的boost部件之一,其中一些只是头文件,那么您需要将编译时所使用的版本与MATLAB附带的版本相匹配,c++,matlab,C++,Matlab,例如,MatlabR2009B附带boost 1.36,您可以通过查看/bin/中库的名称来判断

例如,MatlabR2009B附带boost 1.36,您可以通过查看/bin/中库的名称来判断
去年我做了一些MEX的东西,我的内存有点生锈,但是你确实需要使用MEX函数来构建MATLAB数组。我发现MATLAB文档足够了,整个体验也不太痛苦。

STL绝对受支持。可能还没有。关键是,只要您在计算机上部署了STL和BOOST,您就可以开始了。

我将根据经验提供一些警告。如果使用Simulink和RTW,则在编译标志时会设置-DRT。boost的一些数学库使用模板。-DRT杀死这些类。如果遇到此问题,请尝试在make文件中将-DRT更改为-DRT=RT。