使用c++ MEX API创建MATLAB函数,提供c++程序的效率,并可以从MATLAB访问外部函数和库。c++ MEX API提供了以下特性:
使用现代c++编程特性和面向对象设计。
从MEX函数调用MATLAB函数。
无缝集成到MATLAB,从MATLAB获得输入并返回结果。
金宝app支持MATLAB数据类型和写时复制语义。
编写线程安全的多线程MEX函数。
在进程外执行c++ MEX函数。
请注意
函数在MATLAB中的c++ api中使用matlab::数据::数组
类定义的MATLAB数据API.如果您的MEX函数必须在MATLAB R2017b或更早版本中运行,或者如果您喜欢使用C语言,那么使用矩阵C API这与mxArray
数据结构。有关更多信息,请参见用C语言调用MATLAB.
在不同的平台上构建MEX应用程序。
使用预定义的c++ MEX文件测试构建环境。
使用c++ 11特性和c++ Engine API实现MEX函数。
实现一个覆盖函数调用操作符的类()
创建一个仿函数对象。
避免复制大型数组以减少内存使用和提高执行速度的技术。
自定义MexFunction
类以更好地处理MEX函数使用的资源。
检查输入的大小和类型,并在MATLAB中显示错误消息。
MEX函数可以在MATLAB命令窗口中显示输出。
行为时回调到MATLAB与异步
请求等matlab::引擎::MATLABEngine:: fevalAsync
.
单元格和结构数组允许您在不复制整个数组的情况下写入数组内容。
定义正确的数据类型以在MATLAB和MEX函数之间传递数据。
调用MATLAB函数,向MEX函数传递参数并返回参数。
捕获MEX函数中抛出的异常。
执行MATLAB语句在调用者的工作空间中创建变量。
MEX函数可以使用c++ Engine异步API从用户创建的线程调用MATLAB。
在独立于MATLAB进程的进程中执行c++ MEX函数。
将变量放入或从MATLAB库和全局工作区中获取变量。
将MATLAB对象传递给MEX函数。
可以使用MEX函数实现MATLAB类的方法。