编写C函数调用MATLAB(墨西哥人文件)
mxArray
MATLAB变量的访问和创建数组返回MATLAB你可以叫自己的C程序从MATLAB命令行就像内置函数。这些程序被称为墨西哥人函数和函数名是墨西哥人的文件名。墨西哥人不适合所有的应用程序功能。MATLAB是一种高生产力的环境的专业是消除耗时的,低级编程编译语言。一般而言,你在MATLAB编程。不要使用墨西哥人功能,除非你的应用程序需要它。
创建一个墨西哥人功能,使用MATLAB编写程序api。这些库中的函数促进墨西哥人之间的数据传输功能和工作区。选择一个MATLAB API,考虑以下:
使用现代c++创建墨西哥人的功能特性,定义的MATLAB c++数据API。有关更多信息,请参见从MATLAB编写c++函数调用(墨西哥人文件)。
如果你的墨西哥人功能必须运行在MATLAB R2017b或更早,或如果你喜欢工作在C语言中,然后使用功能矩阵C API和C API墨西哥人。这些api使用MATLAB
mxArray
数据结构。功能和主题是基于在这个页面mxArray
。
背板
选择函数的矩阵C API或MATLAB数据API;你无法从这些api函数。
建立你的源文件到一个可执行程序使用墨西哥人
函数。你也可以分享墨西哥人与其他MATLAB文件的用户。
写S-functions的信息,看看你的模型金宝app®文档。
调用一个墨西哥人别人创建的函数,看看调用墨西哥人函数。
如果你有一个C / c++程序,想从程序调用MATLAB函数,然后使用一个引擎api。有关更多信息,请参见:
如果你想从C程序读写MATLAB数据,看看编写C程序来读取MAT-File数据。
C API墨西哥人
mexFunction |
入口点C / c++墨西哥人用矩阵C API函数 |
mexFunctionName |
目前墨西哥人函数的名称 |
mexAtExit |
当墨西哥人函数清除或注册函数来调用MATLAB终止 |
mexCallMATLAB |
调用MATLAB函数、用户定义函数或墨西哥人的功能 |
mexCallMATLABWithTrap |
调用MATLAB函数、用户定义函数或墨西哥人文件并获取错误信息 |
mexEvalString |
执行MATLAB命令调用者的工作区中 |
mexEvalStringWithTrap |
执行MATLAB命令调用者的工作区和捕获错误信息 |
mexGetVariable |
从指定工作空间变量的副本 |
mexGetVariablePtr |
只读变量指针从另一个工作区 |
mexPutVariable |
数组从墨西哥人功能到指定的工作区中 |
mexGet |
指定图形属性的价值 |
mexSet |
设置值指定图形的属性 |
mexPrintf |
ANSICPRINTF-style输出例程 |
mexErrMsgIdAndTxt |
显示错误消息标识符和回归MATLAB提示 |
mexWarnMsgIdAndTxt |
警告消息的标识符 |
mexIsLocked |
确定墨西哥人文件被锁定 |
mexLock |
防止清算墨西哥人文件内存 |
mexUnlock |
允许清除记忆的墨西哥人文件 |
mexMakeArrayPersistent |
使墨西哥人后数组保存文件完成 |
mexMakeMemoryPersistent |
使分配的内存MATLAB墨西哥人后持续函数完成 |
Argomenti
编写C墨西哥人函数
- 创建C源文件arrayProduct.c墨西哥人
这个例子显示了如何创建
arrayProduct
C墨西哥人用矩阵C API函数。 - 墨西哥人表函数源代码示例
墨西哥人函数源代码示例的链接。
- MATLAB数据
使用
mxArray
在墨西哥人的文件。 - 内存管理问题
规则管理
mxArray
内存。 - 创建c++墨西哥人函数矩阵与C API
c++语言问题时需要考虑创建墨西哥人用矩阵C API功能。 - 在C墨西哥人文件错误处理
打印错误信息使用mexErrMsgIdAndTxt
函数。 - 墨西哥人文件中处理大文件I / O
如何使用64位墨西哥人文件中文件I / O。 - 测试最终派生类
如何从墨西哥人排除内置类型的子类文件输入参数。
测试您的构建环境
- 构建C墨西哥人函数
这个例子展示了如何构建示例C墨西哥人的功能
arrayProduct
。
矩阵C API版本
- 墨西哥人升级文件使用交错复杂的API
MATLAB 9.4版本(R2018a)支持的交叉表示复金宝app数。
- 墨西哥人升级文件使用64位的API
MATLAB 9.2版本(R2017a)构建与64位墨西哥人文件默认API。
- 墨西哥人文件升级到使用图形对象
MATLAB 8.4版本(R2014b)变化的数据类型处理的图形对象双
来对象。
墨西哥人分享文件
- 在墨西哥人文件文档构建信息
这个例子展示了如何记录xtimesy
墨西哥人文件建立在一个窗口®使用微软平台®Visual c++®编译器。
Risoluzione一些problemi
构建错误
- 墨西哥人失败时得到帮助
用来帮助诊断编译器设置和构建错误,调用墨西哥人
函数详细选项- v。 - 墨西哥人编译文件失败
当编译一个墨西哥人文件失败。 - 故障排除墨西哥人API不兼容
警告和错误消息的更多信息。 - 故障排除和限制编译C / c++与MinGW-w64墨西哥人文件
故障排除墨西哥人用MinGW-w64编译器构建文件。 - 象征mexFunction没有解决或没有定义
每一个文件需要一个墨西哥人mexFunction
。
运行时错误
- 无效的墨西哥人文件错误
要做什么当你得到一个无效的墨西哥人文件错误。 - 墨西哥人版本兼容性
为达到最佳效果,运行墨西哥人文件建立与MATLAB版本。 - 墨西哥人平台的兼容性
如果你得到一个二进制墨西哥人从另一个源文件,确保文件编译为同一平台,您想要运行它。 - 墨西哥人API不是线程安全的
不调用单个会话的MATLAB在单独的线程从一个墨西哥人文件。 - 墨西哥人文件段错误
当一个墨西哥人文件导致分割违反或断言。 - 墨西哥人文件产生不正确的结果
要做什么当你的墨西哥人产生错误的答案。
调试
- 在Microsoft Windows平台上调试
建议与微软Visual Studio调试®。 - 在Mac平台上调试
这个例子展示了如何调试一个墨西哥人的文件Mac平台。 - 在Linux平台上调试
这个例子展示了如何调试一个墨西哥人在Linux上的文件®平台。