使用工具生成MEX函数MATLAB编码器应用程序
方法生成MEX函数的工作流程MATLAB编码器应用程序
一步 | 行动 | 细节 |
---|---|---|
1 | 设置MATLAB®编码器™项目。 |
建立一个MATLAB编码器项目 |
2 | 指定构建配置参数。集构建类型来 |
配置项目设置 |
3. | 构建项目。 |
构建一个MATLAB编码器项目 |
的MATLAB编码器应用程序不支持金宝appMATLAB在线™.中生成MEX函数MATLAB在线,可以使用codegen
命令。
生成一个MEX函数MATLAB编码器应用程序
本示例演示如何使用MATLAB代码生成一个MEX函数MATLAB编码器应用程序。
创建入口点函数
在一个本地可写文件夹中,创建一个MATLAB文件,mcadd.m
,包含:
函数y = mcadd (u, v)% # codegenY = u + v;
创建测试文件
在同一个本地可写文件夹中,创建一个MATLAB文件,mcadd_test.m
,电话mcadd
与输入示例。示例输入是带有type的标量int16
.
函数Y = McAdd_test Y = McAdd (int16(2), int16(3));
打开MATLAB编码器应用程序
在MATLAB工具条应用程序选项卡,在代码生成,单击MATLAB编码器应用程序图标。
该应用程序打开选择源文件页面。
指定源文件
在选择源文件页,键入或选择入口点函数的名称
mcadd
.该应用程序使用默认名称创建一个项目
mcadd.prj
.点击下一个去定义输入类型的一步。该应用程序分析编码问题和代码生成准备就绪的功能。如果应用程序识别出问题,它将打开评审代码生成准备情况可以查看和修复问题的页面。在本例中,因为应用程序不检测问题,所以它打开定义输入类型页面。
定义输入类型
因为C语言在编译时使用静态类型,MATLAB编码器必须确定MATLAB文件中所有变量的属性。您必须指定所有入口点函数输入的属性。从入口点函数输入的属性来看,MATLAB编码器可以推断出MATLAB文件中所有变量的属性。
指定测试文件mcadd_test.m
那MATLAB编码器用于自动定义类型u
和v
:
输入或选择测试文件
mcadd_test.m
.点击Autodefine输入类型.
测试文件,
mcadd_test.m
,调用入口点函数,mcadd
,并附上输入类型示例。MATLAB编码器推断,输入u
和v
是int16 (1 x1)
.点击下一个去检查运行时问题的一步。
检查运行时问题
的检查运行时问题step从入口点函数生成一个MEX文件,运行MEX函数并报告问题。该步骤是可选的。但是,执行此步骤是最佳实践。您可以在生成的C代码中检测和修复较难诊断的运行时错误。
打开检查运行时问题对话框中,单击检查问题箭头.
应用程序填充测试文件字段
mcadd_test
,用于定义输入类型的测试文件。点击检查问题.
该应用程序生成一个MEX函数。它运行测试文件替换对的调用
mcadd
调用MEX函数。如果应用程序在MEX函数生成或执行期间检测到问题,它会提供警告和错误消息。单击这些消息可导航到有问题的代码并修复问题。在本例中,应用程序不检测问题。点击下一个去生成代码的一步。
生成MEX函数
打开生成对话框中,单击生成箭头.
在生成对话框中,设置构建类型来
墨西哥人
和语言使用其他项目生成配置设置的默认值。点击生成.
该应用程序表示代码生成成功。它在页面的左侧显示源代码MATLAB文件和生成的输出文件。在变量选项卡,它显示有关MATLAB源变量的信息。在目标建立日志选项卡,则显示构建日志,包括编译器警告和错误。
MATLAB编码器在默认情况下,生成一个MEX函数,
mcadd_mex
,在当前文件夹中。MATLAB编码器还在子文件夹中生成其他支持文件金宝appcodegen /墨西哥人/ mcadd
.MATLAB编码器使用MATLAB函数的名称作为生成文件的根名称。它为MEX文件创建特定于平台的扩展名。看到命名约定.单击,查看代码生成报告查看报告.
点击下一个打开完成工作流程页面。
检查完成工作流页面
的完成工作流程Page表示代码生成成功。它提供了一个项目摘要,并链接到生成的输出。
配置项目设置
打开项目设置对话框:
打开生成对话框中,单击生成箭头.
点击更多的设置.
若要更改项目设置,请单击包含要更改的设置的选项卡。例如,要更改整数溢出时饱和设置,点击速度选项卡。
MEX函数使用一组不同于库和可执行文件的配置参数。当您更改输出类型时墨西哥人的功能
来源代码
静态库
,动态库
,或可执行的
,验证这些设置。
某些配置参数对于MEX和独立代码生成都是相关的。如果在输出类型为时启用这些参数中的任何一个墨西哥人的功能
,如果你想在C/ c++代码生成中使用相同的设置,你必须再次启用它C / c++静态库
,C / c++动态库
,C / c++可执行文件
.
另请参阅
建立一个MATLAB编码器项目
方法上使用指定的设置生成项目生成代码页面,点击生成.随着MATLAB编码器应用程序生成一个项目,它会显示生成进度。构建完成后,应用程序将提供关于构建的详细信息目标建立日志选项卡。
如果启用了代码生成报告,或者出现了构建错误,应用程序就会生成报告。该报告提供了关于最近版本的详细信息,并提供了到该报告的链接。
要查看报表,请单击查看报告链接。该报告提供了到MATLAB代码的链接,并生成了C/ c++文件,以及MATLAB代码中变量的编译时类型信息。如果发生构建错误,报告将列出错误和警告。