mxarray.
您可以从MATLAB命令行调用自己的C或c++程序,就像它们是内置函数一样。这些程序称为MEX函数,函数名就是MEX文件名。MEX函数并不适用于所有应用程序。MATLAB是一个高生产率的环境,它的专长是消除耗时的、低层次的编译语言编程。一般来说,用MATLAB编程。除非应用程序需要,否则不要使用MEX函数。
要创建MEX函数,请使用MATLAB api编写程序。这些库中的函数方便了MEX函数和工作空间之间的数据传输。要选择MATLAB API,请考虑以下内容。
MathWorks建议您使用现代C ++功能创建MEX函数,如所定义的MATLAB数据API.有关更多信息,请参见c++墨西哥人的应用程序.
如果你的MEX函数必须在MATLAB R2017b或更早的版本中运行,或者你更喜欢在C语言中工作,那么使用C矩阵API.和C MEX API。这些api使用MATLABmxarray.
数据结构。本页的功能和主题是基于mxarray.
.
请注意
从C矩阵API或MATLAB数据API中选择功能;您无法从这些API中混合函数。
将源文件构建为可执行程序梅克斯
函数。您还可以与其他MATLAB用户共享MEX文件。
有关编写s函数的信息,请参阅Simulink金宝app®文档。
要调用其他人创建的mex函数,请参阅MEX文件功能.
如果您有C / C ++程序并希望从程序调用MATLAB函数,则使用其中一个引擎API。
如果要从C / C ++程序读取和写入MATLAB数据,请使用MATLAB C API读取MAT文件数据.
梅功能 |
使用C矩阵API构建的C / C ++ MEX功能的入口点 |
mexfunctionname. |
当前MEX函数名 |
Mexatexit. |
MEX函数清除或寄存函数呼叫马铃薯草终止 |
mexCallMATLAB |
调用马铃薯草功能,用户定义的函数或MEX函数 |
mexcallmatlabwithtrap. |
调用马铃薯草函数、用户定义函数或MEX文件并捕获错误信息 |
mexEvalString |
执行马铃薯草调用者工作区中的命令 |
mexEvalStringWithTrap |
执行马铃薯草在调用者工作区中执行命令并捕获错误信息 |
mexGetVariable |
来自指定工作区的变量副本 |
mexGetVariablePtr |
从另一个工作区的可读指针到变量 |
MexputVariable. |
数组从MEX函数到指定的工作空间 |
mexGet |
指定图形属性的值 |
MexSet. |
设置指定图形属性的值 |
mexPrintf |
ANSI.CPrintF样式输出例程 |
mexerrmsgidandtxt. |
用标识符显示错误消息并返回马铃薯草迅速的 |
mexWarnMsgIdAndTxt |
带有标识符的警告消息 |
Mexislocked. |
确定MEX文件是否已被锁定 |
mexLock |
防止从内存中清除MEX文件 |
Mexunlock. |
允许从内存中清除MEX文件 |
MexmakeArraypersistent |
在MEX文件完成后使数组保持 |
mexMakeMemoryPersistent |
使内存分配为马铃薯草在MEX函数完成后保持 |
此示例显示了如何创建arrayProduct
C MEX功能用C矩阵API构建。
MEX函数示例的源代码链接。
使用mxarray.
在MEX文件中。
规则管理mxarray.
记忆。
C ++语言问题需要考虑使用C矩阵API构建的MEX函数。
使用该打印错误信息mexerrmsgidandtxt.
函数。
如何在MEX文件中使用64位文件I/O。
如何从MEX文件输入参数中排除内置类型的子类。
此示例显示如何构建示例C MEX功能arrayProduct
.
MATLAB版本9.4 (R2018a)支持复数的交错表金宝app示。
MATLAB版本9.2 (R2017a)默认使用64位API构建MEX文件。
MATLAB版本8.4(R2014B)将句柄的数据类型更改为图形对象双倍的
来对象.
要帮助诊断编译器设置并构建错误,请调用梅克斯
函数带有verbose选项-v。
当编译MEX文件失败时应该做什么。
有关警告和错误消息的更多信息。
故障排除和限制编译Mingw-W64的C / C ++ MEX文件
使用MingW-W64编译器构建的MEX文件故障排除。
每个MEX文件都需要一个梅功能
.
当您获得无效的MEX文件错误时要做什么。
为获得最佳效果,请使用MATLAB版本构建的MEX文件。
如果您从其他来源获得一个二进制MEX文件,请确保该文件是针对您希望在其上运行它的相同平台编译的。
不要从一个MEX文件在单独的线程上调用MATLAB的单个会话。
当MEX文件导致分段违规或断言时该怎么办。
当你的mex产生错误的答案时要做什么。
使用Microsoft Visual Studio进行调试的建议®.
此示例显示如何调试MEX文件苹果电脑平台。
此示例显示如何在Linux上调试MEX文件®平台。