主要内容

配置构建设置

指定构建类型

构建类型

MATLAB®编码器™可以为以下输出类型生成代码:

  • 墨西哥人的功能

  • 独立的C / c++代码

  • 独立的C/ c++代码,并将其编译为静态库

  • 独立的C/ c++代码,并将其编译为动态链接库

  • 独立的C/ c++代码,并将其编译为可执行文件

    请注意

    生成可执行文件时,必须提供一个包含主要函数,如为C/ c++可执行程序指定主要函数

生成文件的位置

默认情况下,MATLAB编码器根据输出类型在输出文件夹中生成文件。有关更多信息,请参见生成的文件和位置

请注意

每一次MATLAB编码器为相同的代码或项目生成相同类型的输出,它从以前的构建中删除文件。如果您希望保存来自某个构建的文件,请在开始另一个构建之前将它们复制到另一个位置。

参数指定生成类型MATLAB编码器应用程序

  1. 打开生成对话框,对生成代码页面,点击生成箭头

  2. 构建类型致以下之一。

    • 源代码

    • 墨西哥人

    • 静态库

    • 动态库

    • 可执行的

如果您选择源代码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++可执行文件的函数。看到为C/ c++可执行程序指定主要函数

独立的C/ c++代码,并将其编译为可执行文件,指定代码生成选项

cfg = coder.config (exe);%设置配置参数,例如“%指定主文件cfg”。CustomSource = ' c ';cfg。CustomInclude = 'c:\myfiles'; codegen -config cfg foo

请注意

您必须指定主要用于生成C/ c++可执行文件的函数。看到为C/ c++可执行程序指定主要函数

指定代码生成的语言

MATLAB编码器可以生成C或c++库和可执行程序。默认语言为C语言。可以从项目设置对话框或命令行显式指定语言。

参数指定语言MATLAB编码器应用程序

  1. 打开生成对话框,对生成代码页面,点击生成箭头

  2. 语言Cc++

    请注意

    如果您指定c++MATLAB编码器包装了C代码. cpp文件。你可以使用c++编译器和接口与外部c++应用程序。MATLAB编码器不产生c++类。

使用命令行界面指定语言

  1. 为目标语言选择合适的编译器。

  2. 为代码生成创建一个配置对象。例如,对于一个库:

    cfg = coder.config(“自由”);

  3. 设置TargetLang财产“C”“c++”.例如:

    cfg。TargetLang =“c++”;

    请注意

    如果您指定c++MATLAB编码器包装了C代码. cpp文件。然后你可以使用c++编译器和接口与外部c++应用程序。MATLAB编码器不产生c++类。

另请参阅

指定输出文件名

参数指定输出文件名MATLAB编码器应用程序

  1. 打开生成对话框,对生成代码页面,点击生成箭头

  2. 输出文件的名字字段,输入文件名。

请注意

不要在文件名中放入空格。

默认情况下,如果第一个入口点MATLAB文件的名称是fcn1,输出文件名为:

  • fcn1用于C/ c++库和可执行程序。

  • fcn1_mex墨西哥人功能。

默认情况下,MATLAB编码器在文件夹中生成文件project_folder/ codegen /目标/ fcn1

  • project_folder您当前的项目文件夹吗

  • 目标是:

    • 墨西哥人对墨西哥人的功能

    • 自由用于静态C/ c++库

    • dll用于动态C/ c++库

    • exeC / c++的可执行文件

选择命令行

使用codegen函数- o选择。

指定输出文件位置

参数指定输出文件位置MATLAB编码器应用程序

输出文件位置不能包含:

  • 空格(在某些操作系统配置中,空格可能导致代码生成失败)。

  • 选项卡

  • ?

  • 非7位ASCII字符,如日文字符。

  1. 打开生成对话框,对生成代码页面,点击生成箭头

  2. 构建类型源代码静态库动态库,或可执行的(取决于您的要求)。

  3. 点击更多的设置

  4. 单击路径选项卡。

    的默认设置建立文件夹字段是项目文件夹的子文件夹.默认情况下,MATLAB编码器在文件夹中生成文件project_folder/ codegen /目标/ fcn1

    • fcn1是按字母顺序第一个入口点文件的名称。

    • 目标是:

      • 墨西哥人对墨西哥人的功能

      • 自由用于静态C/ c++库

      • dll用于动态链接的C/ c++库

      • exeC / c++的可执行文件

  5. 要更改输出位置,您可以:

    • 建立文件夹当前MATLAB工作文件夹的子文件夹

      MATLAB编码器MATLAB_working_folder/ codegen /目标/ fcn1文件夹

    • 建立文件夹指定的文件夹.在建立文件夹名称字段,提供文件夹的路径。

选择命令行

使用codegen函数- d选择。

参数规范方法

如果你正在使用 使用 细节
MATLAB编码器应用程序 项目设置对话框。 指定构建配置参数MATLAB Coder App
codegen在命令行中,并希望指定一些参数 配置对象 使用配置对象在命令行指定生成配置参数
codegen在构建脚本
codegen在命令行中,想要指定许多参数 配置对象对话框 在命令行使用对话框指定生成配置参数

指定生成配置参数

方法指定生成配置参数MATLAB编码器“项目设置”对话框、命令行或配置对象对话框。

指定生成配置参数MATLAB编码器应用程序

  1. 打开生成对话框,对生成代码页面,点击生成箭头

  2. 构建类型源代码静态库动态库,或可执行的(取决于您的要求)。

  3. 点击更多的设置

    项目设置对话框提供适用于所选输出类型的配置参数集。代码生成对MEX函数使用一组不同于其他构建类型的配置参数。当您切换输出类型时墨西哥人的功能而且源代码静态库动态库,或可执行的,验证这些设置。

    某些配置参数与MEX和独立代码生成都相关。如果在输出类型为时启用任何这些参数墨西哥人的功能,如果您想在C/ c++代码生成中使用相同的设置,则必须再次启用C / c++静态库C / c++动态库,C / c++可执行文件

  4. 请根据实际情况修改参数。有关选项卡参数的详细信息,请单击帮助

    对参数设置的更改会立即发生。

使用配置对象在命令行指定生成配置参数

配置对象的类型。codegen函数使用配置对象自定义代码生成的环境。可选的配置对象如下表所示。

配置对象 描述

编码器。CodeConfig

如果没有嵌入式编码器®许可证是可用的,或者您禁用使用嵌入式Coder许可证,为C/ c++库或可执行文件生成指定参数。

编码器。EmbeddedCodeConfig

如果有嵌入式Coder许可证,则指定C/ c++库或可执行文件生成的参数。

编码器。HardwareImplementation

指定目标硬件实现的参数。如果不指定,codegen生成与MATLAB主机兼容的代码。

编码器。MexCodeConfig

指定MEX代码生成的参数。

使用配置对象。使用配置对象自定义代码生成的环境:

  1. 在MATLAB工作空间中,定义配置对象变量,如创建配置对象

    例如,为C静态库生成一个配置对象:

    cfg = coder.config(“自由”);返回一个编码器。CodeConfigobject if no % Embedded Coder license available. % Otherwise, returns a coder.EmbeddedCodeConfig object.

  2. 根据需要修改配置对象的参数,使用以下方法之一:

  3. 调用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许可证,则创建一个编码器。EmbeddedCodeConfig对象。

如果使用并发许可证,要禁用嵌入式Coder许可证的签出,请使用以下命令之一:

cfg =编码器。配置(‘自由’,‘是’,假)

cfg =编码器。配置(dll,‘是’,假)

cfg =编码器。配置(“exe”、“是”,假)

代码生成配置对象,用于为嵌入式目标生成独立的C/ c++库或可执行文件

编码器。EmbeddedCodeConfig
生成静态库cfg = code .config('lib');生成一个动态库cfg = code .config('dll') %生成一个可执行库cfg = code .config('exe');

请注意

需要嵌入式编码器许可证;否则创建一个编码器。CodeConfig对象。

硬件实现配置对象

编码器。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会话之间自动保存。使用以下方法保存设置:

将配置对象保存到一个mat文件中,然后在下一个会话中加载该mat文件

编写一个创建配置对象并设置其属性的脚本。

在命令行使用对话框指定生成配置参数

创建配置对象后,可以通过配置参数对话框修改配置对象的属性。看到在命令行工作流中指定配置参数

Baidu
map