主要内容

配置构建设置

指定构建类型

构建类型

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

  • 墨西哥人的功能

  • 独立的C / c++代码

  • 独立的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

独立的C/ c++代码,并使用默认的代码生成选项将其编译为库
codegen配置:自由foo
独立的C/ c++代码,并将其编译为指定代码生成选项的库

cfg = coder.config(“自由”);%设置配置参数,例如,%启用代码生成报告cfg.GenerateReport=true;%调用codegen,传递配置% object codegen -config cfg

独立的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文件。然后你可以用ac++编译器与外部接口c++应用程序。MATLAB编码器不产生c++类。

另请参阅

指定输出文件名

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

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

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

请注意

文件名中不要有空格。

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

  • fcn1C/ 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编码器应用程序
codegen,并希望指定一些参数 配置对象 使用配置对象在命令行指定构建配置参数
codegen在构建脚本
codegen在命令行,并希望指定许多参数 配置对象对话框 在命令行使用对话框指定生成配置参数

指定生成配置参数

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

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

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

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

  3. 点击更多的设置

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

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

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

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

使用配置对象在命令行指定构建配置参数

配置对象类型。codegen函数使用配置对象定制代码生成环境。下表列出了可用的配置对象。

配置对象 描述

编码器。CodeConfig

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

编码器。EmbeddedCodeConfig

如果Embedded 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

    配置选项指定要生成的输出类型—在本例中是C静态库。有关更多信息,请参见codegen

创建配置对象。您可以在MATLAB工作空间中定义一个配置对象。

创建… 使用命令,例如…
墨西哥人配置对象

编码器。MexCodeConfig
cfg = coder.config(墨西哥人);
用于生成独立C/ c++库或可执行文件的代码生成配置对象

编码器。CodeConfig
%生成一个静态库cfg = code .config('lib');%生成一个可执行文件cfg = coder.config('exe');

请注意

如果Embedded Coder许可可用,则创建编码器。EmbeddedCodeConfig对象。

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

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

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

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

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

编码器。EmbeddedCodeConfig
%生成一个静态库cfg = code .config('lib');%生成一个可执行文件cfg = coder.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文件

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

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

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