主要内容

coder.EmbeddedCodeConfig

配置参数C / c++代码生成MATLAB代码与嵌入式编码器

描述

一个coder.EmbeddedCodeConfig对象包含的配置参数codegen用于生成一个静态库,动态链接库,或一个可执行程序与嵌入的编码器®。通过对象的codegen函数使用配置选择。

创建

创建一个coder.EmbeddedCodeConfig通过使用对象coder.config函数。

一旦你创建一个coder.EmbeddedCodeConfig对象,您可以在命令行或修改其属性以编程方式交互地使用配置参数对话框。看到在命令行指定配置参数工作流交互

属性

全部展开

编译器工具链的优化或调试设置,指定为这个表中的值之一。

价值 描述
“加快构建”

优化的构建更短的建立时间。

“快跑”

优化构建可执行程序运行的更快。

“调试”

优化构建进行调试。

“指定”

使CustomToolchainOptions财产的定制设置工具选中的工具链。如果工具链属性设置为“自动定位一个安装工具链”,然后设置BuildConfiguration“指定”变化工具链位于工具链。

如果你设置工具链财产一个可用的CMake工具链定义,允许这个属性的值“发布”,“调试”,“RelWithDebInfo”,“MinSizeRel”,“指定”。看到配置CMake构建过程

动态数组优化,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器可以提高生成C代码的执行时间通过优化动态数组访问。

代码生成器不优化动态数组的访问。

看到优化动态数组访问

数据类型铸造水平变量在生成的C / c++代码中,指定为这个表中的值之一。

价值 描述
“名义”

这个值是默认值。

生成C / c++代码,使用C编译器默认数据类型。例如:

短addone (x) {int我;我= x + 1;如果(我> 32767){我= 32767;}我返回(短);}

“标准”

生成C / c++代码将数据类型转换为符合MISRA™标准。例如:

短addone (x) {int我;我= (int) x + (int) 1;如果(我> (int) 32767){我= (int) 32767;}我返回(短);}

“明确”

生成C / c++代码显式数据类型值。例如:

短addone (x) {int我;我= (int) x + 1;如果(我> 32767){我= 32767;}我返回(短);}

看到控制数据类型强制转换生成的代码(嵌入式编码)

设置这个选项指定如果你想生成或使用现有的clang-format文件格式生成的代码。选择格式化文件选择方法,表中指定的值。

价值 描述
“生成”

这个值是默认值。

创建一个clang-format申请您的构建基于你的配置设置。的clang-format文件生成的codegen文件夹中。

“现有”

生成的代码使用的格式clang-format您选择的文件。使用clang-format支持的格式详细的控制生成的代码。

现有的代码生成器的搜索clang-format文件代码生成的文件夹,然后上面的文件夹树代码生成文件夹。代码生成器的名字包括查找文件_clang-format或者是一个.clang-format文件,它发现。如果无法找到所需的文件,代码生成器使用内置的格式规范。

有关更多信息,请参见https://clang.llvm.org/docs/ClangFormatStyleOptions.html

覆盖率分析生成的C / c++代码和自定义C / c++在software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)执行,在此表指定为一个值。

价值 描述

这个值是默认值。

禁用在硅或公益诉讼执行代码覆盖分析。

真正的 仪器的C / c++代码覆盖率分析硅或公益诉讼程序。

使用这个名称参数,你必须有一个MATLAB®测试™许可证。

数据类型:逻辑

执行分析的入口点函数在software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)执行,在此表指定为一个值。

价值 描述

这个值是默认值。

在硅或公益诉讼执行禁用执行分析。

真正的 计算执行时间的入口点函数,使用数据从仪器获得银或公益诉讼程序中的代码。使用代码概要分析器(嵌入式编码)查看调用树生成的代码和相应的执行时间。

看到执行时间分析银和公益诉讼(嵌入式编码)生成执行时间配置文件(嵌入式编码)

代码生成的代码的格式化选项,表中指定的值。

价值 描述
“Clang-format”

代码生成器生成的代码格式显示clang-format文件。

“汽车”

使用一个内部启发式来确定生成的代码格式化clang-format或者是MathWorks®格式化工具。

确定生成的代码被格式化了clang-format,在一个coder.config对象,设置冗长选项“详细”

“MathWorks”

原因代码生成器回到MathWorks格式化工具。

执行分析的函数被称为在入口点函数在software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)执行,在此表指定为一个值。

价值 描述

这个值是默认值。

禁用执行分析在入口点函数调用的函数在硅或公益诉讼执行。

真正的

计算执行时间内调用的函数入口点函数,使用数据从仪器获得银或公益诉讼程序中的代码。使用代码概要分析器(嵌入式编码)查看调用树生成的代码和相应的执行时间。

依赖:CodeExecutionProfiling支持这个参数。

看到执行时间分析银和公益诉讼(嵌入式编码)生成执行时间配置文件(嵌入式编码)

收集和存储选项执行测量,指定为这个表中的值之一。

价值 描述
AllData

这个值是默认值。

立即执行运行,收集和上传分析测量和分析数据从计算机发展目标设备。结束时执行,保存所有的数据基本工作空间。

“SummaryOnly”

执行运行,评估只执行度量报告,并立即上传所需指标目标设备。结束时执行,节省基础的工作区中评估指标。

“MetricsOnly”

执行运行,流程分析数据并存储某些指标目标设备。执行,月底上传存储度量目标设备。

数据类型:字符|字符串

堆栈的使用分析入口点函数在software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)执行,在此表指定为一个值。

价值 描述

这个值是默认值。

禁用在硅或公益诉讼执行堆栈使用分析。

真正的 计算堆栈的使用功能在生成的代码中,使用数据从仪器获得银或公益诉讼程序中的代码。使用代码概要分析器(嵌入式编码)查看堆栈使用入口点的值和内部功能。

看到从MATLAB代码生成堆栈使用分析代码(嵌入式编码)

代码生成模板文件和函数横幅在生成的代码中。默认情况下,CodeTemplate是空的,代码生成器生成默认的横幅。生成自定义横幅,集CodeTemplate到一个coder.MATLABCodeTemplate从代码生成模板创建的对象(CGT)文件。看到生成自定义文件和函数C / c++代码的横幅(嵌入式编码)

代码替换为生成的代码库,指定为这个表中的值之一:

价值 描述
“没有”

这个值是默认值。

不使用一个代码替换库。

命名的代码替换库

生成调用一个特定的平台,编译器,或标准代码替换库。命名的列表库取决于:

  • 安装包的支持。金宝app

  • 目标文件系统,语言,语言标准,配置和设备供应商。

  • 无论你创建和注册代码替换库,使用嵌入式编码器产品。

兼容库依赖于这些参数:

  • TargetLang

  • TargetLangStandard

  • ProdHWDeviceType在硬件实现配置对象。

嵌入式编码器提供了更多的库和能力来创建和使用自定义代码替换库。

MATLAB编码器™生成的最小集合# include选择所需的头文件代码语句替换库。

设置这个参数之前,确认您的编译器支持您想要使用的库。金宝app如果你选择一个参数值,编译器不支持,会发生编译器错误。金宝app

请注意

MATLAB编码器软件不支持TLC回调。金宝app

最大数量的列换行符之前在生成的代码中,指定为一个正整数的范围[65536]。

其他规则换行的位置可以优先于您指定的列限制。

评论风格在生成的代码中,指定为这个表中的值之一。

价值 描述
“汽车” 对于C,生成多行注释。对于c++,生成单行注释。
单行的 生成之前单行注释/ /
“多行” 生成单个或多行注释分隔/ ** /

对于C代码生成,指定单行注释风格只有如果你的编译器支持它。金宝app

依赖:GenerateComments支持这个参数。

看到指定C / c++代码的注释风格(嵌入式编码)

最大数量的专门化的编译时递归函数,指定为一个正整数。在MATLAB代码不允许递归,集CompileTimeRecursionLimit为0。默认编译时递归限制是大到足以让最需要这种类型的递归的递归函数。如果代码生成失败,因为编译时递归限制,和你想要编译时递归,试图增加的极限。另外,改变你的MATLAB代码,代码生成器使用运行时递归。看到编译时递归限制达到

最大数量的恒定文件夹执行的指令。在某些情况下,代码生成需要特定的指令是常数。如果constant-folded常数合并之前停止这些指令,代码生成失败。在这种情况下,增加的价值ConstantFoldingTimeout

看到MATLAB编码器优化生成的代码

转换if-elseif-else模式切换实例语句在生成的代码中,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器不转换if-elseif-else模式切换实例语句。

真正的 代码生成器试图转换if-elseif-else模式切换实例语句。代码生成器生成切换实例声明只有当所有潜在的表达式是标量的整数值。

看到控制C代码风格(嵌入式编码)

生成c++代码11是否包含枚举类或普通C枚举指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器生成枚举类的MATLAB枚举生成c++代码11。看到为枚举代码生成

代码生成器产生普通C枚举的MATLAB枚举生成c++代码11。

依赖:

  • 设置TargetLang“c++”支持这个参数。

接口类的名称时生成c++代码CppInterfaceStyle设置为“方法”。在这种情况下,对MATLAB生成的代码入口点函数的方法包含在一个c++类所指定的名称CppInterfaceClassName。当你设定这个属性没有影响CppInterfaceStyle“功能”

看到生成c++代码的类接口

风格的界面为MATLAB生成c++代码入口点函数生成代码。默认情况下,入口点函数成为c++函数。如果你选择“方法”,然后入口点函数成为c++类的方法。指定类的属性的名称CppInterfaceClassName

看到生成c++代码的类接口

依赖:

  • 设置TargetLang“c++”支持这个参数。

是否为包生成c++名称空间在MATLAB代码中,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器生成c++名称空间在MATLAB代码包。看到生成c++代码组织成名称空间

代码生成器不能产生c++名称空间在MATLAB代码的包。

依赖:

  • 设置TargetLang“c++”支持这个参数。

数据类型:逻辑

名称空间为生成c++代码。代码生成器不能产生代码在一个名称空间,除非你指定一个非空的特征向量。

看到生成c++代码组织成名称空间

依赖:

  • 设置TargetLang“c++”支持这个参数。

名称空间为MathWorks生成c++代码的代码。代码生成器不能产生这样一个名称空间如果指定这个属性是一个空的特征向量。

看到生成c++代码组织成名称空间

依赖:

  • 设置TargetLang“c++”支持这个参数。

数据类型:字符

是否生成c++类C风格为MATLAB类结构,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

为MATLAB代码生成器生成c++类的类。看到为MATLAB生成c++类的类

代码生成器生成C风格为MATLAB类结构。

当使用GPU编码器™,代码生成器总是禁用这个参数。

依赖:

  • 设置TargetLang“c++”支持这个参数。

数据类型:逻辑

回调类巴拉斯库调用的代码生成的某些低级的向量和矩阵运算在MATLAB代码中,指定为一个特征向量。

如果你指定巴拉斯回调类,对于某些低级的向量和矩阵函数,代码生成器产生巴拉斯调用使用CBLAS C接口布拉斯特区图书馆。回调类提供CBLAS头文件的名称,CBLAS数据类型的名称,bla库链接到你所需的信息。如果该参数为空,矩阵函数的代码生成器生成的代码而不是巴拉斯的电话。

看到加快矩阵运算生成独立的代码通过使用布拉斯特区调用

宏指定自定义生成的文件名附加字符和令牌。有关更多信息,请参见自定义C / c++文件的名称从MATLAB代码生成(嵌入式编码)

回调类FFTW库调用的代码生成的FFT函数在MATLAB代码中,指定为一个特征向量。

提高FFT函数的执行速度,代码生成器生成调用FFTW库,您指定的回调类。如果该参数为空,代码生成器使用自己的FFT算法函数,而不是调用FFTW图书馆。

UseBuiltinFFTWLibrary优先于CustomFFTCallback如果你让这两个属性。

看到加快快速傅里叶变换使用FFTW库调用生成的独立的代码

定制代码出现顶部附近的每一个C / c++头文件从MATLAB代码生成的,除了rtwtypes.hrtwhalf.h,指定为一个特征向量。

包括文件夹添加到包括当编译生成的代码路径。指定包括文件夹的列表作为一个字符串数组,单元阵列特征向量,特征向量。

多个文件夹名称,指定为这个表中的值之一。

价值 描述
字符串数组

一个字符串数组CustomInclude。例如,cfg。CustomInclude = [“C: \工程”,“C: \自定义文件”);

单元阵列的特征向量

一个细胞阵列的特征向量CustomInclude。例如,cfg。CustomInclude = {“C: \项目”,“C: \自定义文件”};

特征向量

单独由一个包括文件夹pathsep字符CustomInclude。例如,cfg。CustomInclude = [' C: \项目' pathsep“C: \自定义文件”);

请注意

在代码中指定多个条目配置对象通过使用特征向量生成警告,在将来的版本将被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑

自定义代码包括在生成的初始化函数,指定为一个特征向量。

回调类LAPACK库调用的代码生成的某些线性代数函数在MATLAB代码中,指定为一个特征向量。

如果你指定一个LAPACK调课,对于某些线性代数函数,代码生成器产生LAPACK调用使用LAPACKE C接口LAPACK图书馆。回调类提供LAPACKE头文件的名称和链接到你所需的信息LAPACK图书馆。如果该参数为空,线性代数函数的代码生成器生成的代码来代替LAPACK电话。

看到加快生成独立的代码通过使用线性代数LAPACK调用

静态库文件和生成的代码链接,指定为一个字符串数组,单元阵列特征向量,特征向量。

多个静态库文件名称,指定为这个表中的值之一。

价值 描述
字符串数组

一个字符串数组CustomLibrary。例如,cfg。CustomLibrary = (“myLib1.lib”、“myLib2.lib”);

单元阵列的特征向量

一个细胞阵列的特征向量CustomLibrary。例如,cfg。CustomLibrary = {‘myLib1.lib’,‘myLib2.lib};

特征向量

由一个单独的静态库文件的名字pathsep字符CustomLibrary。例如,cfg。CustomLibrary = [' myLib1。lib' pathsep 'myLib2.lib'];

请注意

在代码中指定多个条目配置对象通过使用特征向量生成警告,在将来的版本将被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑

源文件和生成的代码编译和链接,指定为一个字符串数组,单元阵列特征向量,特征向量。

首先构建过程搜索源文件在当前文件夹,然后在您指定的包括文件夹CustomInclude。如果源文件名称相同的发生在多个文件夹搜索路径,构建过程可能使用一个不同的文件比指定的文件。

假设您指定foo.cpp作为一个源文件。如果foo.cfoo.cpp都是在搜索路径,你不能确定是否构建过程使用吗foo.cfoo.cpp

多个源文件名称,指定为这个表中的值之一。

价值 描述
字符串数组

一个字符串数组CustomSource。例如,cfg。CustomSource = (“mySrc1.c”、“mySrc2.c”);

单元阵列的特征向量

一个细胞阵列的特征向量CustomSource。例如,cfg。CustomSource = {‘mySrc1.c’,‘mySrc2.c};

特征向量

由一个单独的源文件的名字pathsep字符CustomSource。例如,cfg。CustomSource = [' mySrc1。c的pathsep mySrc2.c];

请注意

在代码中指定多个条目配置对象通过使用特征向量生成警告,在将来的版本将被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑

指定每个生成的代码出现顶部附近。c. cpp文件(除了rtwhalf.crtwhalf.cpp)以外的任何函数。指定代码作为一个特征向量。

没有指定一个C静态函数定义。

自定义标识符格式生成EMX数组类型(可嵌入mxArray类型),指定为一个特征向量。指定的格式,请参阅自定义生成的标识符(嵌入式编码)

自定义标识符格式生成EMX阵列(可嵌入mxArrays)效用函数,指定为一个特征向量。指定的格式,请参阅自定义生成的标识符(嵌入式编码)

自定义标识符格式生成本地函数标识符,指定为一个特征向量。指定的格式,请参阅自定义生成的标识符(嵌入式编码)

自定义标识符格式生成全球类型标识符、字段名称指定为一个特征向量。指定的格式,请参阅自定义生成的标识符(嵌入式编码)

自定义标识符格式生成全局变量标识符,指定为一个特征向量。指定的格式,请参阅自定义生成的标识符(嵌入式编码)

自定义标识符格式生成常数宏标识符,指定为一个特征向量。指定的格式,请参阅自定义生成的标识符(嵌入式编码)

自定义标识符格式生成本地临时变量标识符,指定为一个特征向量。指定的格式,请参阅自定义生成的标识符(嵌入式编码)

自定义标识符格式生成全球标识符类型,指定为一个特征向量。指定的格式,请参阅自定义生成的标识符(嵌入式编码)

出现在终止函数所生成的代码,指定为一个特征向量。

自定义设置工具选择的工具链,指定为一个单元阵列。

依赖关系:

  • 工具链属性决定了哪些工具和选项出现在单元阵列。

  • 设置BuildConfiguration财产指定使CustomToolchainOptions

首先,获取当前的设置。例如:

cfg = coder.config (“自由”);cfg.BuildConfiguration =“指定”;选择= cfg.CustomToolchainOptions

然后,编辑中的值选择

这些价值观源于工具链定义文件和第三方编译器选项。看到自定义工具链登记

数据类型替换在生成的代码中,指定为这个表中的值之一。

价值 描述
“CBuiltIn”

这个值是默认值。

C代码生成器使用内置的数据类型。

“CoderTypeDefs” 代码生成器使用预先定义的数据类型rtwtypes.h

配置对象的代码生成深度学习网络,指定为在这个表中指定为一个对象。

对象 需要 描述
coder.MklDNNConfig

  • 深度学习工具箱™

  • 为深入学习MATLAB编码器接口金宝app支持包

一个coder.MklDNNConfig对象包含参数特定于c++代码生成深度学习使用英特尔®MKL-DNN。创建一个coder.MklDNNConfig对象,使用coder.DeepLearningConfig。例如:

cfg = coder.config (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“mkldnn”);

看到代码生成与MKL-DNN深度学习网络

coder.ARMNEONConfig

  • 深度学习工具箱

  • 为深入学习MATLAB编码器接口金宝app支持包

一个coder.ARMNEONConfig对象包含参数特定于c++代码生成深度学习使用的手臂®计算库。创建一个coder.ARMNEONConfig对象,使用coder.DeepLearningConfig。例如:

cfg = coder.config (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“arm-compute”);

看到代码生成与臂计算深度学习网络图书馆

coder.CuDNNConfig(GPU编码器)

  • 深度学习工具箱

  • GPU编码器

  • 为深入学习GPU编码器接口金宝app支持包

一个coder.CuDNNConfig对象包含特定于CUDA参数®深度学习使用cuDNN库的代码生成。创建一个coder.CuDNNConfig对象,使用coder.DeepLearningConfig。例如:

cfg = coder.gpuConfig (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“cudnn”);

看到通过使用cuDNN代码生成深度学习网络(GPU编码器)

coder.TensorRTConfig(GPU编码器)

  • 深度学习工具箱

  • GPU编码器

  • 为深入学习GPU编码器接口金宝app支持包

一个coder.TensorRTConfig对象包含参数特定于CUDA深度学习使用TensorRT库的代码生成。创建一个coder.TensorRTConfig对象,使用coder.DeepLearningConfig。例如:

cfg = coder.gpuConfig (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“tensorrt”);

看到通过使用TensorRT代码生成深度学习网络(GPU编码器)

依赖:如果DeepLearningConfig是集,codegenTargetLangc++

对象描述,指定为一个特征向量。

动态内存分配模式,指定为这个表中的值之一。

价值 描述
“阈值”

这个值是默认值。

代码生成器上动态分配内存堆适应可变数组的大小(以字节为单位)大于或等于DynamicMemoryAllocationThreshold

“AllVariableSizeArrays” 代码生成器动态所有适应可变数组在堆上分配内存。
“关闭”

静态代码生成器为适应可变数组分配内存的堆栈。

无界适应可变数组需要动态内存分配。

依赖关系:

  • EnableVariableSizing支持这个参数。

  • 设置这个DynamicMemoryAllocation“阈值”使DynamicMemoryAllocationThreshold参数。

看到为适应可变数据生成代码

请注意

DynamicMemoryAllocation配置选项将在未来的版本中被删除。动态地分配内存大小可变的数组,使用EnableDynamicMemoryAllocation选择。要设置阈值,可以使用DynamicMemoryAllocationThreshold选择。

动态内存分配固定大小的数组,指定为这个表中的值之一。

价值 描述
真正的

代码生成器堆上动态分配内存的固定大小的数组大小(以字节为单位)大于或等于DynamicMemoryAllocationThreshold

这个值是默认值。

静态代码生成器为固定大小的数组在堆栈上分配内存。

依赖:

  • 设置EnableDynamicMemoryAllocation真正的启用这个选项。

看到的,控制动态内存分配固定大小的数组

实现界面的动态分配的数组生成的C / c++函数,指定为这个表中的值之一。

价值 描述
“汽车”

这是默认值。如果你设置TargetLang参数“c++”“C”相同的标志,这个值相应的行为。

“C”

生成的代码使用C风格emxArray数据结构来实现动态分配的数组。看到使用C数组生成的函数接口

“c++”

如果你设置TargetLang参数“C”,这个值是禁用的。

生成的代码使用编码器:数组类模板来实现动态分配的数组。看到使用动态分配的c++数组生成的函数接口

使用GPU编码器时,代码生成器总是使用C风格emxArray数据结构。

依赖:

  • EnableVariableSizing支持这个参数。

大小阈值的动态内存分配固定大小和适应可变数组,指定为一个正整数。代码生成器使用动态内存分配固定大小和适应可变数组的大小(以字节为单位)大于或等于阈值。

依赖:

  • 设置DynamicMemoryAllocation“阈值”支持这个参数。

看到为适应可变数据生成代码

非本征函数调用,自动指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器将一些常见的可视化功能视为外在功能。你不需要将这些函数声明为外部使用coder.extrinsic。此功能可以减少代码的时间,你花适合代码生成。

代码生成器不治疗常见可视化函数作为外在功能,除非你宣布他们为外部使用coder.extrinsic

一些常见的可视化功能情节,disp,。看到使用MATLAB引擎来执行一个函数调用生成的代码

自动并行化循环,在这个表指定为一个值。

价值 描述

这个值是默认值。

代码生成器并不会自动并行化循环。

真正的

代码生成器自动截然不同循环在生成的代码中。自动并行化可以显著提高生成的代码的执行速度。看到自动并行化的循环生成的代码

使用GPU编码器时,代码生成器总是让自动并行循环。

数据类型:逻辑

报告的自动并行化循环,在这个表指定为一个值。

价值 描述
真正的

这个值是默认值。

如果你设置EnableAutoParallelization真正的,代码生成器生成的代码生成报告的自动并行化循环

代码生成器不能产生自动并行化的代码生成报告循环。

自定义名称为MATLAB数据类型在生成的C / c++代码中,表中指定的值。

价值 描述

这个值是默认值。

自定义名称MATLAB数据类型是不允许的。

真正的

自定义名称MATLAB数据类型是允许的。通过使用指定自定义名称ReplacementTypes。设置EnableCustomReplacementTypes真正的使ReplacementTypes参数。

为适应可变数组动态内存分配,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器上动态分配内存堆适应可变数组的大小(以字节为单位)大于或等于DynamicMemoryAllocationThreshold

静态代码生成器为适应可变数组分配内存的堆栈。

隐式扩张能力在生成的代码中,指定表中列出的值。

价值 描述
真正的

这个值是默认值。

代码生成器允许隐式扩张在生成的代码中。代码生成器包括在生成的代码修改应用隐式扩张。看到兼容数组大小的基本操作

生成的代码不遵守规则的隐式扩张。

数据类型:逻辑

memcpy优化,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

如果可能的话,代码生成器使用memcpy优化。连续优化的代码复制数组元素memcpy优化替换的代码memcpy调用。当元素的数量复制在编译时是已知的,代码生成器使用MemcpyThreshold属性来决定是否使用优化。看到memcpy优化

不使用代码生成器memcpy优化。

使用GPU编码器时,代码生成器总是禁用Memcpy优化。

并行化的parfor循环,在这个表指定为一个值。

价值 描述
真正的

这个值是默认值。

如果可能的话,代码生成器使用OpenMP库生产循环迭代并行地运行。

代码生成器处理parfor循环,循环。

看到parfor

使用OpenMP图书馆与即时(JIT)编译不兼容。如果EnableJITEnableOpenMP真正的,代码生成器使用JIT编译和治疗parfor循环,循环。

使用GPU编码器时,代码生成器总是对待parfor循环,循环。

运行时递归的支持,在这个表指定为一个值金宝app。

价值 描述
真正的

这个值是默认值。

递归函数都可以在生成的代码中。

递归函数是不允许在生成的代码。

一些编码标准,如MISRA,不允许递归。增加的可能性符合MISRA - C™生成代码,设置EnableRuntimeRecursion

如果你需要运行时递归和MATLAB代码EnableRuntimeRecursion,代码生成失败。

看到递归函数的代码生成

替代乘法与签署权力两个左位生成的C / c++代码的变化,在这个表指定为一个值。

价值 描述
真正的

这个值是默认值。

代码生成器使用签署离开转变为乘法的两种能力。生成的C代码的一个例子,它使用乘法由八个签署了左移:

< < = 3;

代码生成器不使用签名离开转变为乘法的两种能力。生成的C代码的一个例子,不使用乘法由八个签署了左移:

我=我* 8;

GPU编码器总是设置EnableSignedLeftShifts属性为true。

一些编码标准,如MISRA,不允许对签署了整数位操作。增加的可能性产生MISRA - C兼容的代码,设置EnableSignedLeftShifts

看到控制签署离开转变生成的代码(嵌入式编码)

签署正确位变化在生成的代码中,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器使用了正确的转变。生成的C代码的一个例子,它使用一个签署了正确的转变:

我> > = 3

代码生成器替换正确的转变在签署了整数的函数调用生成的代码。例如:

我= asr_s32 3 u);

GPU编码器总是设置EnableSignedRightShifts属性为true。

一些编码标准,如MISRA,不允许对签署了整数位操作。增加的可能性产生MISRA-C: 2004兼容的代码,设置EnableSignedRightShifts

强度降低优化,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器不使用强度降低优化。

真正的

代码生成器试图使用强度降低优化简化在循环中数组索引在生成的代码中。如果可能,在循环中数组索引的代码生成器取代乘操作和添加操作。用操作可以是昂贵的。当C / c++编译器在目标平台上不优化的数组索引,减少强度优化是有用的。即使优化替代乘法操作在生成的代码中,可能是C / c++编译器可以生成乘法指令。

可追溯性的代码生成报告,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成报告包括代码的可追溯性。看到之间的交互跟踪MATLAB代码和生成的C / c++代码(嵌入式编码)

代码生成的报告不包括代码的可追溯性。

适应可变数组的支持,在这个表指定为一个值金宝app。

价值 描述
真正的

这个值是默认值。

适应可变数组允许代码生成。

适应可变数组不允许代码生成。

依赖:

  • 使动态内存分配

看到为适应可变数组生成代码

文件分区模式指定为这个表中的值之一。

价值 描述
“MapMFileToCFile”

这个值是默认值。

代码生成器生成单独的C / c++文件为每个MATLAB语言文件。

“SingleFile” 代码生成器产生单个文件的C / c++函数映射到你的MATLAB函数入口点。代码生成器生成单独的C / c++文件的实用函数。

看到MATLAB编码器分区生成的代码如何

静态代码度量报告,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器不运行代码生成次静态代码度量分析。您可以运行分析和生成报告后点击代码度量总结标签的代码生成报告。

真正的

代码生成器运行静态代码度量分析报告并产生代码生成。

打开一个代码度量报告,单击代码度量链接总结标签的代码生成报告。

依赖:

  • 代码生成器生成一个静态代码度量报告只有GenerateReport真正的或者如果你指定报告选择的codegen报告。

看到生成一个静态代码度量报告从MATLAB代码生成的代码(嵌入式编码)

代的源代码,在这个表指定为一个值。

价值 描述

这个值是默认值。

代码生成器生成C / c++源代码和构建对象代码。

真正的

代码生成器生成C / c++源代码,但不调用make命令或构建对象代码。当你修改MATLAB代码之间的迭代生成C / c++代码,生成唯一的代码可以节省时间。

代码替换报告,指定为在这个表的值。

价值 描述

这个值是默认值。

代码生成器并不产生代码替换报告。

真正的

代码生成器生成的代码替换报告,总结了从选中的代码替换库替换。该报告提供了每个代码替换实例之间的映射和触发的MATLAB代码替换。

评论在生成的代码中,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器的地方评论在生成的代码中。

代码生成器不评论在生成的代码中。

默认情况下所有的switch语句,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器可能不会生成一个默认情况下switch语句。

真正的 代码生成器生成一个默认情况下所有switch语句生成的代码。

一些编码标准,如MISRA,需要switch语句的默认情况下。

示例生成C / c++的主要文件,指定为这个表中的值之一。

价值 描述
“GenerateCodeOnly”

这个值是默认值。

代码生成器生成一个示例C / c++主要功能但不编译它。

“DoNotGenerate”

代码生成器并不生成一个示例C / c++的主要功能。

“GenerateCodeAndCompile”

代码生成器生成一个示例C / c++主要功能并编译它创建一个测试执行。这个可执行不返回输出。

如果GenCodeOnly参数是真正的,代码生成器并不编译C / c++的主要功能。

主要功能是一个例子一个模板来帮助你编写一个C / c++的主要功能,调用生成的C / c++代码。看到将生成的代码使用一个例子的主要功能

Makefile代在构建过程中,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器生成一个makefile在构建过程中。

代码生成器并不在构建过程中生成一个makefile。指定post-code-generation处理指令,包括编译和链接,在一个post-code-generation命令。看到构建流程定制

一代的非限定的数据支持文件,金宝app指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

支持文件的代码生成器产生的非限定的数据(金宝app)只有在生成的代码中使用非限定的数据。

代码生成器产生非限定的数据的支持文件(金宝app)。

依赖:

  • 设置金宝appSupportNonFinite真正的支持这个参数。

代码生成报告,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器生成一个报告只有在发生错误或警告消息,或者如果你设置LaunchReport真正的

真正的 代码生成器生成的代码生成报告。

对象,该对象指定一个硬件板。创建coder.Hardware对象,使用coder.hardware。例如:

cfg = coder.config(“自由”);hw =编码器。硬件(覆盆子π);cfg.Hardware= hw;

使用之前coder.hardware,您必须安装硬件的支持包。金宝app

依赖关系:

  • 设置硬件定制的硬件实现对象和其他特定硬件配置参数。

  • 如果DeepLearningConfig被设置为一个coder.ARMNEONConfig对象和硬件是空的,然后codegen设置GenCodeOnly财产真正的

注意:

  • 假设您创建一个coder.CodeConfig对象cfg在MATLAB会话并使用它在另一个MATLAB会话。如果第二个会话的MATLAB主机没有硬件板中指定cfg.Hardware财产上安装它,这个参数恢复为默认值。默认值是[]。设置硬件板选项MATLAB主机在应用程序相当于使用cfg.Hardwarecfg.HardwareImplementation.ProdHWDeviceType与他们的默认值。

为公益诉讼执行指定硬件板,请参阅公益诉讼与手臂Cortex-A执行命令行(嵌入式编码)

硬件实现对象指定特定于硬件的配置参数C / c++代码生成。coder.config创建一个coder.EmbeddedCodeConfig对象的HardwareImplementation属性设置为一个coder.HardwareImplementation对象与MATLAB主机默认参数值。

为了防止由于多个包含头文件,编译错误代码生成器产生#如果未定义# pragma一旦在生成的头文件结构。如果您的项目使用不同的文件使用相同的预处理器宏,然后生成代码# pragma一旦构造。的编译行为# pragma一旦不是标准化的。

指定HeaderGuardStyle在这个表的值。

价值 描述
UseIncludeGuard

代码生成器生成#如果未定义风格# include警卫。

UsePragmaOnce 代码生成器生成# pragma一旦风格# include警卫。

强调潜在的数据类型问题的代码生成报告,指定为这个表中的值之一。

价值 描述

这个值是默认值。

这个代码生成报告不强调潜在的数据类型问题。

真正的

代码生成报告强调了MATLAB代码,结果单精度和双精度运算中生成的C / c++代码。如果你有定点设计师™,报告还突出表情在MATLAB代码,导致昂贵的定点操作生成的代码。

显示潜在的行布局效率问题,指定为这个表中的值之一。

价值 描述
真正的

代码生成的报告上显示了潜在的效率问题,由于行布局。(该值是默认值)。

代码生成报告并没有显示阵列布局有关的问题。

看到代码行阵列布局设计

初始化函数生成,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器产生一个初始化函数。

代码生成器不能产生一个初始化函数。如果你设置IncludeInitializeFcn和一个初始化函数是必需的,例如,电话支持代码非限定的数据(金宝app),代码生成器产生一条错误消息。

看到MATLAB代码模式需要一个非空的初始化函数生成的代码(嵌入式编码)

使用GPU编码器时,代码生成器总是产生一个初始化函数。

终止函数生成,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器生成一个终止功能。

代码生成器不能产生一个终止函数。如果你设置IncludeTerminateFcn和一个终止函数是必需的,例如,空闲内存,代码生成器发出警告。

使用GPU编码器时,代码生成器总是产生终止功能。

字符数的缩进级别,指定为一个正整数的范围(2、8)。

风格放置括号在生成的代码中,指定为这个表中的值之一。

价值 描述
“k和r”

这个值是默认值。

为块内的一个函数,将是在同一行作为其控制语句。例如:

空白addone (const双x[6],双z [6]) {int钱数;(i0 = 0;i0 < 6;i0 + +) {z(钱数)= x(钱数)+ 1.0;}}

“奥尔曼”

街区内的一个函数,一个开放撑一行有相同的缩进级别控制语句。例如:

空白addone (const双x[6],双z [6]) {int钱数;(i0 = 0;i0 < 6;i0 + +) {z(钱数)= x(钱数)+ 1.0;}}

转让和双零浮动memset,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

如果可能的话,代码生成器使用memset优化连续浮点零分配给数组元素。连续分配数组元素memset优化使用memset调用。当元素的数量分配在编译时是已知的,代码生成器使用MemcpyThreshold属性来决定是否使用优化。看到memset优化

不使用代码生成器memset优化连续漂浮和双零分配给数组元素。

内联行为调用地点MathWorks调用另一个MathWorks函数,指定为这个表中的值之一。

价值 描述
“速度”

这个值是默认值。

使用内部启发式来决定是否执行内联调用站点。这个设置通常会导致高度优化的代码。

“总是”

总是表现内联调用站点上。

“可读性”

几乎从不内联函数调用,除了要求非常小的功能。保留了模块化的代码不牺牲太多的速度,只要有可能。结果在高度可读的代码。

“永远”

内联函数调用。导致最大的可读性。这个设置可以显著减少生成的代码的性能。

即使你选择“总是”或者是“永远”选择设置,在某些情况下,代码生成器可能不严格遵循指令。例如,如果有一个冲突,coder.inline(总是)coder.inline(“不”)指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用

看到控制内联微调性能和生成的代码的可读性

内联行为调用站点,你写一个函数,调用一个MathWorks函数,或者MathWorks函数调用一个函数,你写道。这个表中指定的值。

价值 描述
“速度”

这个值是默认值。

使用内部启发式来决定是否执行内联调用站点。这个设置通常会导致高度优化的代码。

“总是”

总是表现内联调用站点上。

“可读性”

几乎从不内联函数调用,除了要求非常小的功能。保留了模块化的代码不牺牲太多的速度,只要有可能。结果在高度可读的代码。

“永远”

内联函数调用。导致最大的可读性。这个设置可以显著减少生成的代码的性能。

即使你选择“总是”或者是“永远”选择设置,在某些情况下,代码生成器可能不严格遵循指令。例如,如果有一个冲突,coder.inline(总是)coder.inline(“不”)指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用

看到控制内联微调性能和生成的代码的可读性

内联行为调用站点,你写一个函数,调用另一个函数,你写道,在这个表指定为一个值。

价值 描述
“速度”

这个值是默认值。

使用内部启发式来决定是否执行内联调用站点。这个设置通常会导致高度优化的代码。

“总是”

总是表现内联调用站点上。

“可读性”

几乎从不内联函数调用,除了要求非常小的功能。保留了模块化的代码不牺牲太多的速度,只要有可能。结果在高度可读的代码。

“永远”

内联函数调用。导致最大的可读性。这个设置可以显著减少生成的代码的性能。

即使你选择“总是”或者是“永远”选择设置,在某些情况下,代码生成器可能不严格遵循指令。例如,如果有一个冲突,coder.inline(总是)coder.inline(“不”)指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用

看到控制内联微调性能和生成的代码的可读性

指令集生成单指令多数据(SIMD)目标硬件的代码。这个列表显示了指令集的依赖,其中每个指令集取决于之前的指令集。代码生成器加载选中的指令集,这取决于的指令集。例如,如果您选择AVX,代码生成器负载AVX,SSE4.1,SSE2,上交所

看到为MATLAB生成SIMD代码功能

使用GPU编码器时,代码生成器总是禁用InstructionSetExtensions

注释生成的C / c++代码抑制已知MISRA AUTOSAR侵犯,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器并不将注释添加到生成的C / c++代码

真正的 代码生成器将注释添加到生成的C / c++代码只有GenerateComments真正的

指定的代码生成报告,自动打开这个表中的值。

价值 描述

这个值是默认值。

如果发生错误或警告,或者GenerateReport真正的代码生成器生成一个报告,但是不打开报告。

真正的 代码生成器产生并打开一个代码生成报告。

循环比这更少的迭代阈值由代码生成器的候选人自动展开。这个阈值适用于所有循环和parfor在MATLAB代码循环。对一个人循环,coder.unroll指令立即放置在循环优先于循环展开优化。阈值也可以适用于一些循环过程中产生代码生成。

看到展开for循环和parfor-Loops

MATLAB函数帮助文本的旗帜在生成的代码中指定的值在这个表。

价值 描述
真正的

这个值是默认值。

代码生成器包括MATLAB函数帮助文本的旗帜在生成的代码。

代码生成器将帮助文本作为一个用户评论。

如果不选择,MATLAB编码器将帮助文本作为一个用户评论。

依赖关系:

  • GenerateComments支持这个参数。

包含注释的MATLAB源代码生成的代码,在这个表指定为一个值。

价值 描述

这个值是默认值。

代码生成器不插入评论的MATLAB源代码生成的代码。代码生成器函数中不包括MATLAB函数签名横幅。

真正的

代码生成器插入MATLAB源代码生成的代码的注释。立即可追溯性标记之前的每一行源代码。可追溯性标记能帮助你找到相应的MATLAB源代码。看到跟踪生成的C / c++代码的MATLAB源代码

如果你有嵌入式编码,代码生成报告,可追溯性标记源代码的链接。

代码生成器还包括MATLAB函数签名的横幅。

依赖:

  • GenerateComments支持这个参数。

看到跟踪生成的C / c++代码的MATLAB源代码

是否包括行号的MATLAB源代码注释在生成的代码中,指定为真正的。将这个属性设置为删除可追溯性标记的代码生成报告。

依赖:

  • 设置GenerateComments真正的支持这个参数。

最大字符数生成的标识符,指定为一个正整数的范围[31,2048]。这个属性适用于生成函数,类型定义,变量名。避免截断目标标识符的C / c++编译器,指定一个值匹配目标的最大标识符长度C / c++编译器。

这个属性并不适用于出口标识符,如为入口点函数生成的名称或emxArray API函数。如果一个出口标识符的长度超过了最大标识符长度的目标C / c++编译器,目标C / c++编译器截断导出的标识符。

默认值:

  • 如果TargetLang被设置为“C”的默认值MaxIdLength31日

  • 如果TargetLang被设置为“c++”的默认值MaxIdLength1024年

最小大小,字节,memcpy或memset优化,指定为一个正整数。

连续复制数组元素的优化生成的代码,代码生成器试图替换的代码memcpy调用。生成的代码优化连续文字常量赋值给数组元素,代码生成器试图替换的代码memset调用。

的字节数是数组元素复制或分配的数量乘以所需的字节数C / c++的数据类型。

如果复制或分配的元素数量是可变的(在编译时不知道),代码生成器忽略了MemcpyThreshold财产。

看到memcpy优化memset优化

多实例,可重入的代码,在这个表指定为一个值。

价值 描述

这个值是默认值。

代码生成器不能产生多实例、可重入的代码。

真正的

代码生成器产生可重用,多实例的代码是可重入的。

看到可重入代码

这个选项不支持GPU编码器产品。金宝app

对象名称、指定为一个特征向量。

最大数量的CPU线程并行运行循环在生成的C / c++代码中,指定为一个正整数。

看到指定最大数量的线程运行并行for循环在生成的代码中

输出构建生成的C / c++代码,在这个表指定为一个值。

价值 描述
“自由” 静态库
“DLL” 动态链接库
EXE” 可执行程序

Parenthesization水平在生成的代码中,指定为这个表中的值之一。

价值 描述
“名义”

这个值是默认值。

代码生成器插入括号来平衡可读性和视觉的复杂性。例如:

= ((In2 In1 > 1.0) & & (In2 > 2.0));

“最大”

代码生成器包括括号指定意义不依赖运算符优先级。生成的代码与MISRA这个设置符合要求。例如:

= (((In2 - in) > 1.0) & & (In2 > 2.0));

“最低”

代码生成器插入括号ANSI所需要的地方®C或c++或覆盖默认的优先级。例如:

= In2——In1 > 1.0 & & In2 > 2.0;

如果您生成C / c++代码使用的最低水平,对于一些编译器的某些设置,您可以得到编译器警告。为了消除这些警告,尝试名义水平。

通过结构参照入口点函数,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

生成的代码通过引用传递结构,这样可以减少内存使用和执行时间通过最小化副本入口点函数的参数的数量界限。

请注意

一个入口点函数写入一个字段的结构参数覆盖输入值。

生成的代码按值传递结构。

这个参数只适用于入口点函数。

看到通过结构参数通过引用或值在生成的代码

墨西哥人后命令自定义构建处理函数生成codegen,指定为一个特征向量。

看到构建流程定制

保存的走读生关键字生成的代码在函数声明,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器中走读生关键字声明外部函数。

代码生成器删除走读生从函数声明的关键字。

生成的代码使用n维索引、指定为这个表中的值之一。

价值 描述

使用一维索引生成代码。(该值是默认值)。

真正的 使用n维索引生成代码。

看到使用n维索引生成代码

保留未使用的类属性或结构字段生成的C / c++代码,在这个表指定为一个值。

价值 描述

这个值是默认值。

代码生成器生成的C / c++代码通过删除未使用的属性和字段生成的代码。

真正的

代码生成器生成的C / c++代码保留未使用的属性和字段生成的代码。

看到删除未使用的类属性生成的C / c++代码(嵌入式编码)

变量名称保留在生成的代码中,指定为这个表中的值之一。

价值 描述
“没有”

这个值是默认值。

代码生成器没有保存任何变量的名字。它可以重用任何变量,变量满足要求重用。

如果你的代码使用大型结构或数组,设置PreserveVariableNames“没有”可以减少内存使用量或提高执行速度。

“用户名”

代码生成器保留名称对应MATLAB代码中定义的变量。它没有你的变量名替换为另一个名字,不使用你的名字为另一个变量。为了提高可读性,集PreserveVariableNames“用户名”。然后,您可以更容易地跟踪生成的代码中的变量回MATLAB代码中的变量。

设置PreserveVariableNames“用户名”不阻止删除变量的优化生成的代码或阻止C / c++编译器重用生成的二进制代码中的变量。

“所有”

保留所有变量名。这个参数值禁用变量重用。它只用于测试或调试,生产代码。

看到在生成的代码保存变量名

指定浮点代码的检测,这个表中的值。

价值 描述

这个值是默认值。

代码生成器允许浮点数据和操作。

真正的

代码生成器不允许浮点数据或操作。如果代码生成器检测浮点数据或操作,代码生成以一个错误。

依赖:

  • 设置PurelyIntegerCode真正的禁用金宝appSupportNonFinite参数。设置PurelyIntegerCode使金宝appSupportNonFinite参数。

指定自定义名称为这些MATLAB内置数据类型:,,uint8,uint16,uint32,uint64,int8,int16,int32,int64,字符,逻辑在生成的C / c++代码。

依赖:

名字的变量导出代码生成的信息,指定为一个特征向量。代码生成器基MATLAB的工作区中创建这个变量。该变量包含代码生成的信息设置,输入文件,生成的文件,和代码生成的消息。

看到通过编程方式访问代码生成报告信息编码器。ReportInfo属性

潜在的差异报告,指定为这个表中的值之一:

价值 描述
真正的 代码生成器生成的代码报告潜在的行为差异和MATLAB代码。潜在的差异在选项卡列出代码生成报告。潜在的区别是不同的,发生在运行时只在特定条件下。
代码生成器不报告潜在的差异。

看到潜在的差异报告

选项包括需求(需求工具箱™)的链接,评论,指定为真正的

评论显示为超链接导航到的代码生成报告要求和MATLAB代码范围有关。看到需求追溯从MATLAB代码生成的代码(需求工具箱)

名称列表的代码生成器不得使用函数或变量指定为一个字符串数组,单元阵列的特征向量,或字符向量。

保留多个名称,指定为这个表中的值之一。

价值 描述
字符串数组

一个字符串数组ReservedNameArray。例如,cfg。ReservedNameArray = [“reserve1”、“reserve2”,“reserve3”)

单元阵列的特征向量

一个细胞阵列的特征向量ReservedNameArray。例如,cfg。ReservedNameArray = {‘reserve1’,‘reserve2’,‘reserve3}

特征向量

一个用于保留名称的列表ReservedNameArray。例如,cfg。ReservedNameArray = ' reserve1; reserve2 reserve3”

请注意

在代码中指定多个条目配置对象通过使用特征向量将在未来的版本中被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑

生成的代码使用行阵列布局,指定为这个表中的值之一。

价值 描述

生成代码,使用数组列为主的布局。(该值是默认值)。

真正的 生成代码,使用行阵列布局。

看到生成代码,使用行阵列布局

代初调用初始化函数生成的入口点函数,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

调用初始化函数包含在生成的入口点函数的开始。生成的代码包括检查以确保初始化函数被调用一次,即使有多个入口点函数。

生成的入口点函数不包括调用初始化函数。

依赖:

  • 设置IncludeInitializeFcnIncludeTerminateFcn真正的支持这个参数。

  • 设置MultiInstanceCode真正的禁用这个参数。

看到使用生成的初始化和终止功能

运行时错误检测和报告在生成的代码中,指定为这个表中的值之一。

价值 描述

这个值是默认值。

生成的代码不检查错误,如禁止入内的索引数组。

真正的

生成的代码检查错误,例如禁止入内的索引数组。

错误报告的软件使用写错误消息stderr。它使用中止终止应用程序。如果中止不可用,您必须提供它们。的中止突然终止程序的函数。如果你的系统支持的信号,你可以金宝app赶上中止信号(SIGABRT),这样你可以控制程序终止。

错误消息都是英文的。

看到生成独立的C / c++代码检测和报告运行时错误

整数溢出的支持,在这个表指定为一个金宝app值。

价值 描述
真正的

这个值是默认值。

代码生成器生成的代码来处理整数溢出。溢出的最小值或最大值,数据类型可以表示。

代码生成器不能产生代码来处理整数溢出。不设置SaturateOnIntegerOverflow除非你确信你的代码不依赖于整数溢出的支持。金宝app如果禁用整数溢出支持和启用运行时错误检查,生成的代码会产生溢出的金宝app错误。如果你禁用整数溢出支持禁用运行时错误检查,溢出行为取决于您的目标金宝appC编译器。在C标准,整数溢出的行为是未定义的。然而,大多数C编译器包装上溢出。

这个参数只适用于MATLAB内置整数类型。它并不适用于双打、单身或定点数据类型。

看到禁用支持整数溢出金宝app或非限定的

生成的代码的调试期间software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)执行,在此表指定为一个值。

价值 描述

这个值是默认值。

禁用调试在硅或公益诉讼执行生成的代码。

真正的

使调试器观察代码的行为在software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)执行。

金宝app思科支持调试器执行:

  • 在Windows上®:

    • 微软®Visual Studio®IDE。

    • Visual Studio代码与MinGW®GDB。需要安装的MATLAB编码器界面Visual Studio代码调试支持包。金宝app

  • macOS,Visual Studio代码LLDB。需要安装的MATLAB编码器界面Visual Studio代码调试支持包。金宝app

  • 在Linux上®:

    • GNU®数据显示调试器(DDD)。

    • Visual Studio代码GDB。需要安装的MATLAB编码器界面Visual Studio代码调试支持包。金宝app

关于支持包的安装信息,请参阅金宝app//www.tatmou.com/matlabcentral/fileexchange/103555

为公益诉讼信息设置调试器执行建立公益诉讼连接通过使用目标方案(嵌入式编码)

看到在硅或公益诉讼执行过程中生成的代码进行调试(嵌入式编码)

常数输入检查SIL或公益诉讼执行模式,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

银或公益诉讼执行比较值,测试文件提供一个恒定的输入参数和代码生成时指定的值。如果值不匹配,出现一个错误。

SIL或公益诉讼执行没有比较的价值一个测试文件提供一个恒定的输入参数在代码生成时指定的值。银或公益诉讼执行使用代码生成时指定的值。如果测试文件使用不同的值,然后在MATLAB结果可能不同于银或公益诉讼的结果执行。

可以加快硅或公益诉讼执行通过设置SILPILCheckConstantInputs

看到加快硅/公益诉讼执行通过禁用常数输入检查和全球数据同步(嵌入式编码)

全球数据同步SIL或公益诉讼执行模式,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

银或公益诉讼执行同步全局变量的值在硅或公益诉讼与MATLAB的工作区中的值执行环境。如果一个全局变量是常数,其值在硅或公益诉讼执行环境不同于它的价值在MATLAB工作区,出现一个错误。

银或公益诉讼执行不同步全局变量的值在硅或公益诉讼与MATLAB的工作区中的值执行环境。如果值不同步,MATLAB中的结果可能不同于银或公益诉讼的结果执行。

可以加快硅或公益诉讼执行通过设置SILPILSyncGlobalData

看到加快硅/公益诉讼执行通过禁用常数输入检查和全球数据同步(嵌入式编码)

I / O通信信息的显示在software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)执行,在此表指定为一个值。

价值 描述
“关闭”

这个值是默认值。

代码生成器不显示通信在硅或公益诉讼执行I / O的信息。

“上”

代码生成器显示通信在硅或公益诉讼执行I / O的信息。

看到故障排除Host-Target沟通(嵌入式编码)

最大堆栈使用每个应用程序,以字节为单位,指定为一个正整数。设定一个限制,低于可用的堆栈大小。否则,可能发生运行时堆栈溢出。C编译器检测和报告堆栈溢出。

看到禁用支持整数溢出金宝app或非限定的

金宝app支持非限定的值,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

如果GenerateNonFiniteFilesIfUsed被设置为真正的,代码生成器生成的代码来支持非限定的值(金宝app只有使用它们)。

如果GenerateNonFiniteFilesIfUsed被设置为,代码生成器总是产生代码来支持非限定的值(金宝app)。

代码生成器不能产生代码来支持非限定的值。金宝app

看到禁用支持整数溢出金宝app或非限定的

语言生成的代码中使用,指定为“C”“c++”。如果指定c++代码生成器将C代码到. cpp文件中,这样您就可以使用一个c++编译器和接口与外部c++应用程序。它不生成c++类。

使用GPU编码器时,代码生成器TargetLangc++

依赖:如果DeepLearningConfig是集,codegenTargetLangc++

“汽车”选择使用TargetLang设置选择哪种语言标准用于生成的代码。默认语言标准取决于您选择的语言。对于C,默认库“C99 (ISO)”。对于c++,默认库“c++ 11 (ISO)”

语言标准对生成的代码,使用指定为一个特征向量:

  • “C89 /人私下偷偷收藏盒式(ANSI)”

  • “C99 (ISO)”

  • “c++ 03 (ISO)”

  • “c++ 11 (ISO)”

代码生成器使用标准库调用数学和其他操作。

看到改变语言标准

工具链用于构建一个C / c++库或可执行程序,指定为一个特征向量。可用工具链的列表取决于主机平台,并且可以包括您所添加的自定义工具链。如果你不指定工具链,代码生成器将定位安装工具链。

注意:

  • 假设您创建一个coder.CodeConfig对象cfg在MATLAB会话并使用它在另一个MATLAB会话。如果第二个会话的MATLAB主机没有中指定的工具链cfg.Toolchain财产上安装它,这个参数恢复为默认值。默认值是“自动定位一个安装工具链”

是否生成代码产生调用FFTW库附带MATLAB快速傅里叶变换(FFT)函数在MATLAB代码中,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器不能产生调用MATLAB中的内置FFT FFTW库函数代码。

真正的

代码生成器生成调用MATLAB中的内置FFT FFTW库函数代码。

UseBuiltinFFTWLibrary优先于CustomFFTCallback如果你让这两个属性。

数据类型:逻辑

代码生成进度显示,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器不显示代码生成的进步。

真正的

代码生成器显示代码生成的进展,包括代码生成阶段和编译器输出。

是否显示状态的代码生成的进步在MATLAB命令行,指定为这个表中的值之一。

价值 描述
“沉默”

如果代码生成成功没有警告,所有消息受到抑制,包括当你生成一个报告。

显示警告和错误消息。

“信息”

这个值是默认值。

相比“沉默”模式,如果代码生成成功,这些额外的信息显示:

  • 代码生成成功

  • 链接生成的报告,如果任何

“详细”

除了所示的消息“信息”模式,代码生成状态和目标构建显示日志消息。

代码验证模式,指定为这个表中的值之一。

价值 描述
“没有” 正常执行
“银” Software-in-the-loop (SIL)执行
“公益诉讼” Processor-in-the-loop(公益诉讼)执行

看到通过Software-in-the-Loop和Processor-in-the-Loop执行代码验证(嵌入式编码)

例子

全部折叠

编写一个MATLAB函数可以生成代码。下面的例子使用了函数myadd返回输入的总和。

函数c = myadd (a, b) c = a + b;结束

创建一个配置对象生成独立的C / c++代码(一个静态库,动态链接库,或一个可执行程序)。例如,创建一个配置对象生成一个静态的图书馆。

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

如果嵌入式安装编码器,coder.config创建一个coder.EmbeddedCodeConfig对象。

改变的值属性,您不想使用默认值。例如,改变生成的代码的注释风格之前单行注释/ /

cfg。CommentStyle =单行的;

CommentStyle属性只能在嵌入式编码器配置对象。

通过使用生成代码codegen。通过配置对象codegen通过使用配置选择。指定输入参数是标量的两倍。

codegenmyadd配置cfgarg游戏{1}报告

选择功能

使用默认配置参数构建类型“自由”,“DLL”,或EXE”,可以使用codegen选项配置:自由,配置:dll,或配置:exe,分别。然后,您不需要创建并通过一个配置对象codegen

版本历史

介绍了R2011a

全部展开