配置构建设置
指定构建类型
构建类型
MATLAB®编码器™可以为以下输出类型生成代码:
墨西哥人的功能
独立的C / c++代码
独立的C/ c++代码,并将其编译为静态库
独立的C/ c++代码,并将其编译为动态链接库
独立的C/ c++代码,并将其编译为可执行文件
请注意
生成可执行文件时,必须提供一个包含
主要
函数,如为C/ c++可执行程序指定主要函数.
生成文件的位置
默认情况下,MATLAB编码器根据输出类型在输出文件夹中生成文件。有关更多信息,请参见生成的文件和位置.
请注意
每一次MATLAB编码器为相同的代码或项目生成相同类型的输出,它从以前的构建中删除文件。如果您希望保存来自某个构建的文件,请在开始另一个构建之前将它们复制到另一个位置。
参数指定生成类型MATLAB编码器应用程序
打开生成对话框,对生成代码页面,点击生成箭头.
集构建类型致以下之一。
源代码
墨西哥人
静态库
动态库
可执行的
如果您选择源代码
,MATLAB编码器不调用make命令或生成已编译的目标代码。当您在修改MATLAB代码和生成C/ c++代码之间进行迭代并希望检查生成的代码时,此选项可以节省您的时间。这个选项相当于静态库
与只生成代码框选中。
代码生成对MEX函数使用一组不同于其他构建类型的配置参数。当您切换输出类型时墨西哥人的功能
而且源
,静态库
,动态库
,或可执行的
,验证这些设置。
某些配置参数与MEX和独立代码生成都相关。如果在输出类型为时启用任何这些参数墨西哥人的功能
,如果您想在C/ c++代码生成中使用相同的设置,则必须再次启用C / c++静态库
,C / c++动态库
,C / c++可执行文件
.
在命令行指定生成类型
调用codegen
与配置
选择。例如,假设您有一个主函数喷火
它不接受输入参数。下表显示了在编译时如何指定不同的输出类型喷火
.如果主函数具有输入参数,则必须指定这些输入。有关更多信息,请参见指定入口点函数输入的属性.
请注意
C是用于代码生成的默认语言MATLAB编码器.要生成c++代码,请参见指定代码生成的语言.
生成: | 使用这个命令: |
---|---|
MEX函数使用默认的代码生成选项 |
codegen foo |
指定代码生成选项的MEX函数 |
cfg = coder.config(墨西哥人);%设置配置参数,例如%启用代码生成报告cfg.GenerateReport=true;调用codegen,传递配置% object codegen -config cfg foo |
独立的C/ c++代码,并使用默认的代码生成选项将其编译到库中 |
codegen配置:自由foo |
独立的C/ c++代码,并将其编译到指定代码生成选项的库中 |
cfg = coder.config(“自由”);%设置配置参数,例如%启用代码生成报告cfg.GenerateReport=true;调用codegen,传递配置% object codegen -config cfg foo |
独立的C/ c++代码,并使用默认的代码生成选项将其编译为可执行文件c 在命令行文件 |
Codegen -config:exe main.c foo 请注意 您必须指定 |
独立的C/ c++代码,并将其编译为可执行文件,指定代码生成选项 |
cfg = coder.config (exe);%设置配置参数,例如“%指定主文件cfg”。CustomSource = ' c ';cfg。CustomInclude = 'c:\myfiles'; codegen -config cfg foo 请注意 您必须指定 |
指定代码生成的语言
MATLAB编码器可以生成C或c++库和可执行程序。默认语言为C语言。可以从项目设置对话框或命令行显式指定语言。
参数指定语言MATLAB编码器应用程序
打开生成对话框,对生成代码页面,点击生成箭头.
集语言来
C
或c++
.请注意
如果您指定
c++
,MATLAB编码器包装了C
代码. cpp
文件。你可以使用c++
编译器和接口与外部c++
应用程序。MATLAB编码器不产生c++
类。
使用命令行界面指定语言
为目标语言选择合适的编译器。
为代码生成创建一个配置对象。例如,对于一个库:
cfg = coder.config(“自由”);
设置
TargetLang
财产“C”
或“c++”
.例如:cfg。TargetLang =“c++”;
请注意
如果您指定
c++
,MATLAB编码器包装了C
代码. cpp
文件。然后你可以使用c++
编译器和接口与外部c++
应用程序。MATLAB编码器不产生c++
类。
另请参阅
指定输出文件名
参数指定输出文件名MATLAB编码器应用程序
打开生成对话框,对生成代码页面,点击生成箭头.
在输出文件的名字字段,输入文件名。
请注意
不要在文件名中放入空格。
默认情况下,如果第一个入口点MATLAB文件的名称是fcn1
,输出文件名为:
fcn1
用于C/ c++库和可执行程序。fcn1_mex
墨西哥人功能。
默认情况下,MATLAB编码器在文件夹中生成文件
:project_folder
/ codegen /目标/ fcn1
project_folder
您当前的项目文件夹吗目标
是:墨西哥人
对墨西哥人的功能自由
用于静态C/ c++库dll
用于动态C/ c++库exe
C / c++的可执行文件
选择命令行
使用codegen
函数- o
选择。
指定输出文件位置
参数指定输出文件位置MATLAB编码器应用程序
输出文件位置不能包含:
空格(在某些操作系统配置中,空格可能导致代码生成失败)。
选项卡
\
,$
,#
,*
,?
非7位ASCII字符,如日文字符。
打开生成对话框,对生成代码页面,点击生成箭头.
集构建类型来
源代码
,静态库
,动态库
,或可执行的
(取决于您的要求)。点击更多的设置.
单击路径选项卡。
的默认设置建立文件夹字段是
项目文件夹的子文件夹
.默认情况下,MATLAB编码器在文件夹中生成文件
:project_folder
/ codegen /目标/ fcn1fcn1
是按字母顺序第一个入口点文件的名称。目标
是:墨西哥人
对墨西哥人的功能自由
用于静态C/ c++库dll
用于动态链接的C/ c++库exe
C / c++的可执行文件
要更改输出位置,您可以:
集建立文件夹来
当前MATLAB工作文件夹的子文件夹
MATLAB编码器在
文件夹MATLAB_working_folder
/ codegen /目标/ fcn1集建立文件夹来
指定的文件夹
.在建立文件夹名称字段,提供文件夹的路径。
选择命令行
使用codegen
函数- d
选择。
参数规范方法
如果你正在使用 | 使用 | 细节 |
---|---|---|
的MATLAB编码器应用程序 | 项目设置对话框。 | 指定构建配置参数MATLAB Coder App |
codegen 在命令行中,并希望指定一些参数 |
配置对象 | 使用配置对象在命令行指定生成配置参数 |
codegen 在构建脚本 |
||
codegen 在命令行中,想要指定许多参数 |
配置对象对话框 | 在命令行使用对话框指定生成配置参数 |
指定生成配置参数
方法指定生成配置参数MATLAB编码器“项目设置”对话框、命令行或配置对象对话框。
指定生成配置参数MATLAB编码器应用程序
打开生成对话框,对生成代码页面,点击生成箭头.
集构建类型来
源代码
,静态库
,动态库
,或可执行的
(取决于您的要求)。点击更多的设置.
项目设置对话框提供适用于所选输出类型的配置参数集。代码生成对MEX函数使用一组不同于其他构建类型的配置参数。当您切换输出类型时
墨西哥人的功能
而且源代码
,静态库
,动态库
,或可执行的
,验证这些设置。某些配置参数与MEX和独立代码生成都相关。如果在输出类型为时启用任何这些参数
墨西哥人的功能
,如果您想在C/ c++代码生成中使用相同的设置,则必须再次启用C / c++静态库
,C / c++动态库
,C / c++可执行文件
.请根据实际情况修改参数。有关选项卡参数的详细信息,请单击帮助.
对参数设置的更改会立即发生。
使用配置对象在命令行指定生成配置参数
配置对象的类型。的codegen
函数使用配置对象自定义代码生成的环境。可选的配置对象如下表所示。
配置对象 | 描述 |
---|---|
如果没有嵌入式编码器®许可证是可用的,或者您禁用使用嵌入式Coder许可证,为C/ c++库或可执行文件生成指定参数。 |
|
如果有嵌入式Coder许可证,则指定C/ c++库或可执行文件生成的参数。 |
|
指定目标硬件实现的参数。如果不指定, |
|
指定MEX代码生成的参数。 |
使用配置对象。使用配置对象自定义代码生成的环境:
在MATLAB工作空间中,定义配置对象变量,如创建配置对象.
例如,为C静态库生成一个配置对象:
cfg = coder.config(“自由”);返回一个编码器。CodeConfigobject if no % Embedded Coder license available. % Otherwise, returns a coder.EmbeddedCodeConfig object.
根据需要修改配置对象的参数,使用以下方法之一:
交互式命令,如中所述使用配置对象在命令行指定生成配置参数
对话框,如中所述在命令行使用对话框指定生成配置参数
调用
codegen
函数与配置
选择。指定配置对象作为它的参数。的
配置
选项指示codegen
根据配置属性值为目标生成代码。在下面的例子中,codegen
从MATLAB函数生成一个C静态库,喷火
,根据代码生成配置对象的参数,cfg
,在第一步中定义:Codegen -config CFG foo
的
配置
option指定您想要构建的输出类型—在本例中是一个C静态库。有关更多信息,请参见codegen
.
创建配置对象。您可以在MATLAB工作区中定义配置对象。
创建… | 使用命令,例如… |
---|---|
墨西哥人配置对象编码器。MexCodeConfig |
cfg = coder.config(墨西哥人); |
用于生成独立C/ c++库或可执行文件的代码生成配置对象编码器。CodeConfig |
生成静态库cfg = code .config('lib');生成一个动态库cfg = code .config('dll') %生成一个可执行库cfg = code .config('exe'); 请注意 如果有嵌入式Coder许可证,则创建一个 如果使用并发许可证,要禁用嵌入式Coder许可证的签出,请使用以下命令之一: cfg =编码器。配置(‘自由’,‘是’,假) cfg =编码器。配置(dll,‘是’,假) cfg =编码器。配置(“exe”、“是”,假) |
代码生成配置对象,用于为嵌入式目标生成独立的C/ c++库或可执行文件编码器。EmbeddedCodeConfig |
生成静态库cfg = code .config('lib');生成一个动态库cfg = code .config('dll') %生成一个可执行库cfg = code .config('exe'); 请注意 需要嵌入式编码器许可证;否则创建一个 |
硬件实现配置对象编码器。HardwareImplementation |
hwcfg =编码器。HardwareImplementation |
每个配置对象都附带一组初始化为默认值的参数。您可以更改这些设置,如中所述使用点表示法在命令行修改配置对象.
使用点表示法在命令行修改配置对象。您可以使用点表示法一次修改一个配置对象参数的值。使用这种语法:
configuration_object.财产=价值
点表示法使用赋值语句修改配置对象属性:
指定一个
主要
函数在C/ c++代码生成过程中:cfg = coder.config (exe);cfg。CustomInclude = 'c:\myfiles'; cfg.CustomSource = 'main.c'; codegen -config cfg foo
在生成C/ c++静态库后自动生成并启动代码生成报告:
cfg = coder.config(“自由”);cfg。GenerateReport = true;cfg。LaunchReport = true;Codegen -config CFG foo
保存配置对象。配置对象不会在MATLAB会话之间自动保存。使用以下方法保存设置:
在命令行使用对话框指定生成配置参数
创建配置对象后,可以通过配置参数对话框修改配置对象的属性。看到在命令行工作流中指定配置参数.