C/ c++代码生成的配置参数MATLAB代码与嵌入式编码器
一个编码器。EmbeddedCodeConfig
对象包含的配置参数codegen
用于生成静态库、动态链接库或使用Embedded Coder的可执行程序®.将对象传递给codegen
函数的配置
选择。
cfg = coder.config (
为指定的构建类型创建代码生成配置对象,该类型可以是静态库、动态链接库或可执行程序。如果安装了Embedded Coder产品,它将创建build_type
)编码器。EmbeddedCodeConfig
对象。否则,它将创建编码器。CodeConfig
对象。
cfg = coder.config (
创建一个build_type
“是”,真的)编码器。EmbeddedCodeConfig
对象的指定输出类型,即使未安装Embedded Coder产品。但是,不能使用编码器。EmbeddedCodeConfig
对象,除非您已安装嵌入式编码器。
build_type
- - - - - -从生成的C/ c++代码构建的输出“自由”
|“DLL”
|EXE”
从生成的C/ c++代码构建的输出,指定为该表中的值之一。
价值 | 描述 |
---|---|
“自由” |
静态库 |
“DLL” |
动态链接库 |
EXE” |
可执行程序 |
BuildConfiguration
- - - - - -工具链的编译器优化或调试设置“快跑”
(默认)|“加快构建”
|“调试”
|“指定”
工具链的编译器优化或调试设置,指定为该表中的值之一。
价值 | 描述 |
---|---|
“加快构建” |
优化构建以缩短构建时间。 |
“快跑” |
优化构建以更快地运行可执行文件。 |
“调试” |
优化构建以进行调试。 |
“指定” |
使 |
CastingMode
- - - - - -数据类型转换级别“名义”
(默认)|“标准”
|“明确”
生成的C/ c++代码中变量的数据类型转换级别,指定为该表中的值之一。
价值 | 描述 |
---|---|
“名义” |
此值为默认值。 生成使用默认C编译器数据类型转换的C/ c++代码。例如: Short addone(Short x) {int i;I = x + 1;If (i > 32767) {i = 32767;}我返回(短);} |
“标准” |
生成C/ c++代码,强制转换数据类型以符合MISRA®标准。例如: Short addone(Short x) {int i;I = (int)x + (int)1;If (i> (int)32767) {i = (int)32767;}我返回(短);} |
“明确” |
生成显式强制转换数据类型值的C/ c++代码。例如: Short addone(Short x) {int i;I = (int)x + 1;If (i > 32767) {i = 32767;}我返回(短);} |
看到生成代码中的控制数据类型强制转换(嵌入式编码).
ClangFormatFile
- - - - - -控制代clang-format
文件“生成”
(默认)|“现有”
设置此选项以指定是否要生成或使用现有的clang-format
文件以格式化生成的代码。选择格式化文件选择方法,该方法指定为表中的值之一。
价值 | 描述 |
---|---|
“生成” |
此值为默认值。 创建一个 |
“现有” |
控件格式化生成的代码 代码生成器搜索现有的 |
有关更多信息,请参见https://clang.llvm.org/docs/ClangFormatStyleOptions.html.
CodeExecutionProfiling
- - - - - -SIL或PIL执行期间的执行时间分析假
(默认)|真正的
在循环中软件(SIL)或循环中处理器(PIL)执行期间的执行时分析,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 在SIL或PIL执行期间禁用执行时间分析。 |
真正的 |
在SIL或PIL执行期间启用执行时间分析。 |
看到SIL和PIL的执行时间分析(嵌入式编码).
CodeFormattingTool
- - - - - -生成代码的格式化工具“汽车”
(默认)|“Clang-format”
|“MathWorks”
生成代码的代码格式化选项,指定为表中的值之一。
价值 | 描述 |
---|---|
“Clang-format” |
代码生成器将生成的代码按照 |
“汽车” |
使用内部试探法确定生成的代码是否按 确定生成的代码是否按 |
“MathWorks” |
使代码生成器恢复到MathWorks格式工具。 |
CodeTemplate
- - - - - -文件和函数横幅的代码生成模板[]
(默认)|编码器。MATLABCodeTemplate
对象代码生成模板用于生成的代码中的文件和函数横幅。默认情况下,CodeTemplate
为空,代码生成器将生成默认横幅。要生成自定义横幅,请设置CodeTemplate
到一个编码器。MATLABCodeTemplate
对象由代码生成模板(CGT)文件创建。看到为C/ c++代码生成自定义文件和函数横幅(嵌入式编码).
CodeReplacementLibrary
- - - - - -生成代码的代码替换库代码替换库生成的代码,指定为表中的值之一:
价值 | 描述 |
---|---|
“没有” |
此值为默认值。 不使用代码替换库。 |
命名代码替换库 | 生成对特定平台、编译器或标准代码替换库的调用。命名库的列表取决于:
|
兼容库依赖于以下参数:
TargetLang
TargetLangStandard
ProdHWDeviceType
在硬件实现配置对象中。
Embedded Coder提供了更多的库以及创建和使用自定义代码替换库的能力。
MATLAB®编码器™的最小集# include
所选代码替换库所需的头文件的语句。
在设置此参数之前,请验证编译器是否支持要使用的库。金宝app如果选择编译器不支持的参数值,则可能发生编译器错误。金宝app
请注意
MATLAB编码器软件不支持TLC回调。金宝app
ColumnLimit
- - - - - -在生成的代码中换行之前的最大列数生成的代码中换行前的最大列数,指定为范围[455,65536]的正整数。
其他放置换行符的规则可以优先于指定的列限制。
CommentStyle
- - - - - -生成代码中的注释样式“汽车”
(默认)|单行的
|“多行”
生成代码中的注释样式,指定为该表中的值之一。
价值 | 描述 |
---|---|
“汽车” |
对于C语言,生成多行注释。对于c++,生成单行注释。 |
单行的 |
生成单行注释// . |
“多行” |
生成以分隔的单行或多行注释/* 和*/ . |
对于C代码生成,只在编译器支持的情况下指定单行注释样式。金宝app
依赖:GenerateComments
支持这个参数。
看到为C/ c++代码指定注释风格(嵌入式编码).
CompileTimeRecursionLimit
- - - - - -用于编译时递归的函数专门化的最大数目编译时递归的函数专门化的最大数目,指定为正整数。要在MATLAB代码中禁用递归,请设置CompileTimeRecursionLimit
为0。对于大多数需要这种递归的递归函数来说,默认的编译时递归限制是足够大的。如果由于编译时递归限制而导致代码生成失败,而您想要编译时递归,请尝试增加限制。或者,更改MATLAB代码,使代码生成器使用运行时递归。看到已达到编译时递归极限.
ConstantFoldingTimeout
- - - - - -常量文件夹要执行的最大指令数常量文件夹执行的最大指令数。在某些情况下,代码生成需要特定的指令保持不变。如果常量折叠在这些指令常量折叠之前停止,则代码生成失败。在这种情况下,增加的价值ConstantFoldingTimeout
.
ConvertIfToSwitch
- - - - - -转换if-elseif-else
模式切换实例
语句假
(默认)|真正的
转换if-elseif-else
模式切换实例
生成代码中的语句,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器不进行转换 |
真正的 |
代码生成器尝试转换if-elseif-else 模式切换实例 语句。代码生成器生成切换实例 语句仅当所有可能的case表达式都是标量整数值时。 |
看到控制C代码风格(嵌入式编码).
CppInterfaceClassName
- - - - - -生成的c++代码的接口类名”
(默认)|特征向量使用生成c++代码时接口类的名称CppInterfaceStyle
设置为“方法”
.在这种情况下,为MATLAB入口点函数生成的代码由包含在c++类中的方法组成,类的名称由CppInterfaceClassName
.此属性在设置时无效CppInterfaceStyle
来“功能”
.
看到用类接口生成c++代码.
CppInterfaceStyle
- - - - - -生成的c++代码的接口样式“功能”
(默认)|“方法”
为您生成代码的MATLAB入口点函数生成的c++代码的接口风格。默认情况下,入口点函数变成c++函数。如果你选择“方法”
,则入口点函数成为c++类中的方法。使用属性指定类的名称CppInterfaceClassName
.
看到用类接口生成c++代码.
依赖:
设置TargetLang
来“c++”
支持这个参数。
CppPackagesToNamespaces
- - - - - -为MATLAB包生成c++命名空间真正的
(默认)|假
是否为MATLAB代码中的包生成c++名称空间,指定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器为MATLAB代码中的包生成c++名称空间。看到将生成的c++代码组织到命名空间中. |
假 |
代码生成器不会为MATLAB代码中的包生成c++名称空间。 |
依赖:
设置TargetLang
来“c++”
支持这个参数。
数据类型:逻辑
CppNamespace
- - - - - -生成的c++代码的名称空间”
(默认)|特征向量CppNamespaceForMathworksCode
- - - - - -将为MathWorks代码生成的c++代码放在单独的名称空间中“编码器”
(默认)|特征向量为MathWorks代码生成的c++代码的名称空间。如果您将该属性指定为空字符向量,则代码生成器不会生成这样的名称空间。
依赖:
设置TargetLang
来“c++”
支持这个参数。
数据类型:字符
CppPreserveClasses
- - - - - -为MATLAB类生成c++类真正的
(默认)|假
是否为MATLAB类生成c++类或C风格结构,指定为该表中的一个值。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器为MATLAB类生成c++类。看到为MATLAB类生成c++类. |
假 |
代码生成器为MATLAB类生成C风格的结构。 |
依赖:
设置TargetLang
来“c++”
支持这个参数。
数据类型:逻辑
CustomBLASCallback
- - - - - -布拉斯特区callback类在MATLAB代码中为某些低级向量和矩阵操作生成的代码中用于BLAS库调用的回调类,指定为字符向量。
如果您为某些低级向量和矩阵函数指定了BLAS回调类,那么代码生成器将通过使用BLAS库的CBLAS C接口生成BLAS调用。回调类提供了CBLAS头文件的名称、CBLAS数据类型的名称以及链接到BLAS库所需的信息。如果该参数为空,代码生成器将为矩阵函数生成代码,而不是BLAS调用。
CustomFileNameStr
- - - - - -文件名自定义宏宏,指定使用附加字符和标记自定义生成的文件名。有关更多信息,请参见自定义C/ c++文件名生成的MATLAB代码(嵌入式编码).
CustomFFTCallback
- - - - - -用于FFTW库调用的回调类在MATLAB代码中为FFT函数生成的代码中FFTW库调用的回调类,指定为字符向量。
为了提高FFT函数的执行速度,代码生成器生成对您在回调类中指定的FFTW库的调用。如果该参数为空,代码生成器将使用自己的FFT函数算法,而不是调用FFTW库。
CustomHeaderCode
- - - - - -出现在生成的C/ c++头文件顶部的自定义代码自定义代码出现在从MATLAB代码生成的每个C/ c++头文件的顶部附近,除了rtwtypes.h
和rtwhalf.h
,指定为字符向量。
CustomInclude
- - - - - -包括要添加到包含路径的文件夹,用于编译生成的代码在编译生成的代码时,包括要添加到Include路径的文件夹。将包含文件夹列表指定为字符串数组、字符向量的单元格数组或字符向量。
多个文件夹名,指定为该表中的一个值。
价值 | 描述 |
---|---|
字符串数组 | 中的字符串数组 |
字符向量的单元格数组 | 中字符向量的单元格数组 |
特征向量 | 用a分隔包含文件夹 请注意 在以后的版本中,将不再使用字符向量在代码配置对象中指定多个条目。请使用字符向量的字符串数组和单元格数组。有关更多信息,请参见兼容性的考虑. |
CustomInitializer
- - - - - -要包含在生成的初始化函数中的自定义代码要包含在生成的初始化函数中的自定义代码,指定为字符向量。
CustomLAPACKCallback
- - - - - -LAPACK callback类在MATLAB代码中为某些线性代数函数生成的代码中的LAPACK库调用的回调类,指定为字符向量。
如果您指定了一个LAPACK回调类,对于某些线性代数函数,代码生成器通过使用LAPACK库的LAPACKE C接口产生LAPACK调用。回调类提供LAPACKE头文件的名称和链接到LAPACK库所需的信息。如果该参数为空,代码生成器将生成线性代数函数的代码,而不是LAPACK调用。
CustomLibrary
- - - - - -与生成的代码链接的静态库文件要与生成的代码链接的静态库文件,指定为字符串数组、单元格数组的字符向量或字符向量。
多个静态库文件名,指定为该表中的一个值。
价值 | 描述 |
---|---|
字符串数组 | 中的字符串数组 |
字符向量的单元格数组 | 中字符向量的单元格数组 |
特征向量 | 用。分隔静态库文件名 请注意 在以后的版本中,将不再使用字符向量在代码配置对象中指定多个条目。请使用字符向量的字符串数组和单元格数组。有关更多信息,请参见兼容性的考虑. |
CustomSource
- - - - - -要编译并与生成的代码链接的源文件要编译并与生成的代码链接的源文件,指定为字符串数组、单元格数组的字符向量或字符向量。
构建过程首先在当前文件夹中搜索源文件,然后在您指定的包含文件夹中搜索CustomInclude
.如果具有相同名称的源文件出现在搜索路径的多个文件夹中,则构建过程可能使用与您指定的文件不同的文件。
假设你指定foo.cpp
作为源文件。如果foo.c
和foo.cpp
都在搜索路径上,您不能确定构建过程是否使用foo.c
或foo.cpp
.
多个源文件名,指定为该表中的一个值。
价值 | 描述 |
---|---|
字符串数组 | 中的字符串数组 |
字符向量的单元格数组 | 中字符向量的单元格数组 |
特征向量 | 将源文件名用 请注意 在以后的版本中,将不再使用字符向量在代码配置对象中指定多个条目。请使用字符向量的字符串数组和单元格数组。有关更多信息,请参见兼容性的考虑. |
CustomSourceCode
- - - - - -代码显示在生成的顶部附近.c
或. cpp
文件指定代码显示在生成的每个代码的顶部附近.c
或. cpp
文件(除了rtwhalf.c
或rtwhalf.cpp
),在任何函数之外。将代码指定为字符向量。
不要指定C静态函数定义。
CustomSymbolStrEMXArray
- - - - - -EMX数组类型的自定义标识符格式“emxArray_ $ M $ N”
(默认)|特征向量生成的EMX数组类型(可嵌入的mxArray类型)的自定义标识符格式,指定为字符向量。要指定格式,请参见自定义生成的标识符(嵌入式编码).
CustomSymbolStrEMXArrayFcn
- - - - - -EMX数组实用函数的自定义标识符格式“emx M N美元”
(默认)|特征向量生成的EMX数组(可嵌入的mxArrays)实用函数的自定义标识符格式,指定为字符向量。要指定格式,请参见自定义生成的标识符(嵌入式编码).
CustomSymbolStrFcn
- - - - - -本地函数标识符的自定义标识符格式“m_ $ M $ N”
(默认)|特征向量生成的局部函数标识符的自定义标识符格式,指定为字符向量。要指定格式,请参见自定义生成的标识符(嵌入式编码).
CustomSymbolStrField
- - - - - -全局类型标识符中的字段名称的自定义标识符格式“M N美元”
(默认)|特征向量在全局类型标识符中生成字段名的自定义标识符格式,指定为字符向量。要指定格式,请参见自定义生成的标识符(嵌入式编码).
CustomSymbolStrGlobalVar
- - - - - -全局变量标识符的自定义标识符格式“M N美元”
(默认)|特征向量生成的全局变量标识符的自定义标识符格式,指定为字符向量。要指定格式,请参见自定义生成的标识符(嵌入式编码).
CustomSymbolStrMacro
- - - - - -常量宏标识符的自定义标识符格式“M N美元”
(默认)|特征向量生成常量宏标识符的自定义标识符格式,指定为字符向量。要指定格式,请参见自定义生成的标识符(嵌入式编码).
CustomSymbolStrTmpVar
- - - - - -本地临时变量标识符的自定义标识符格式“M N美元”
(默认)|特征向量生成的本地临时变量标识符的自定义标识符格式,指定为字符向量。要指定格式,请参见自定义生成的标识符(嵌入式编码).
CustomSymbolStrType
- - - - - -全局类型标识符的自定义标识符格式“M N美元”
(默认)|特征向量生成的全局类型标识符的自定义标识符格式,指定为字符向量。要指定格式,请参见自定义生成的标识符(嵌入式编码).
CustomTerminator
- - - - - -出现在生成的terminate函数中的代码出现在生成的terminate函数中的代码,指定为字符向量。
CustomToolchainOptions
- - - - - -自定义设置的工具在选定的工具链在选定的工具链中自定义工具的设置,指定为单元格数组。
依赖关系:
的工具链
属性确定在单元格数组中出现哪些工具和选项。
设置BuildConfiguration
财产指定
使CustomToolchainOptions
.
首先,获取当前设置。例如:
cfg = coder.config (“自由”);cfg。BuildConfiguration =“指定”;选择= cfg。CustomToolchainOptions
然后,编辑其中的值选择
.
这些值来自工具链定义文件和第三方编译器选项。看到自定义工具链登记.
DataTypeReplacement
- - - - - -生成代码中的数据类型替换“CBuiltIn”
|“CoderTypeDefs”
生成代码中的数据类型替换,指定为该表中的值之一。
价值 | 描述 |
---|---|
“CBuiltIn” |
此值为默认值。 代码生成器使用内置的C数据类型。 |
“CoderTypeDefs” |
代码生成器使用预定义的数据类型rtwtypes.h |
DeepLearningConfig
- - - - - -用于深度学习代码生成的配置对象编码器。MklDNNConfig
对象|编码器。一个RMNEONConfig
对象用于深度学习网络代码生成的配置对象,指定为编码器。MklDNNConfig
对象或一个编码器。一个RMNEONConfig
对象。
一个编码器。MklDNNConfig
对象包含特定于使用Intel进行深度学习的c++代码生成的参数®MKL-DNN。创建一个编码器。MklDNNConfig
对象,使用编码器。DeepLearningConfig
.例如:
cfg = coder.config (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“mkldnn”);
一个编码器。一个RMNEONConfig
对象包含特定于使用ARM进行深度学习的c++代码生成的参数®计算库。创建一个编码器。一个RMNEONConfig
对象,使用编码器。DeepLearningConfig
.例如:
cfg = coder.config (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig =编码器。DeepLearningConfig (“arm-compute”);
深度学习网络的代码生成需要deep learning Toolbox™和深度学习库的MATLAB编码器接口金宝app支持包。
看到基于MKL-DNN的深度学习网络代码生成和基于ARM计算库的深度学习网络代码生成.
依赖:如果DeepLearningConfig
是集,codegen
集TargetLang
来c++
.
描述
- - - - - -对象描述类CodeConfig: C代码生成配置。
(默认)|特征向量对象描述,指定为字符向量。
DynamicMemoryAllocation
- - - - - -动态内存分配方式“阈值”
(默认)|“AllVariableSizeArrays”
|“关闭”
动态内存分配模式,指定为该表中的一个值。
价值 | 描述 |
---|---|
“阈值” |
此值为默认值。 代码生成器在堆上为大小(以字节为单位)大于或等于的可变大小数组动态分配内存 |
“AllVariableSizeArrays” |
代码生成器动态地为堆上所有大小可变的数组分配内存。 |
“关闭” |
代码生成器静态地为堆栈上的可变大小数组分配内存。 |
无界可变大小数组需要动态内存分配。
依赖关系:
EnableVariableSizing
支持这个参数。
设置这个DynamicMemoryAllocation
来“阈值”
使DynamicMemoryAllocationThreshold
参数。
看到生成可变大小数据的代码.
DynamicMemoryAllocationInterface
- - - - - -在生成的函数接口上动态分配数组“汽车”
(默认)|“C”
|“c++”
在生成的C/ c++函数的接口上实现动态分配的数组,指定为该表中的值之一。
价值 | 描述 |
---|---|
“汽车” |
这是默认值。如果你设置 |
“C” |
生成的代码使用C风格 |
“c++” |
如果你设置 生成的代码使用 |
依赖:
EnableVariableSizing
支持这个参数。
DynamicMemoryAllocationThreshold
- - - - - -可变大小数组的动态内存分配的大小阈值65536
(默认)|正整数可变大小数组的动态内存分配的大小阈值,指定为正整数。代码生成器对大小(以字节为单位)大于或等于阈值的可变大小数组使用动态内存分配。
依赖:
设置DynamicMemoryAllocation
来“阈值”
支持这个参数。
看到生成可变大小数据的代码.
EnableAutoExtrinsicCalls
- - - - - -自动外部函数调用真正的
(默认)|假
自动外部函数调用,指定为表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器将一些常见的可视化函数视为外部函数。你不需要通过使用声明这些函数为外部函数 |
假 |
代码生成器不会将常见可视化函数视为外部函数,除非您通过使用声明它们为外部函数coder.extrinsic |
一些常见的可视化函数是情节
,disp
,数字
.看到使用MATLAB引擎在生成的代码中执行函数调用.
EnableAutoParallelization
- - - - - -自动并行化为
循环假
(默认)|真正的
自动并行化为
循环,作为表中指定的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器不会自动并行化 |
真正的 |
代码生成器自动并行化 |
数据类型:逻辑
EnableCustomReplacementTypes
- - - - - -生成代码中数据类型的自定义名称假
(默认)|真正的
在生成的C/ c++代码中MATLAB数据类型的自定义名称,指定为表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 不允许为MATLAB数据类型自定义名称。 |
真正的 |
允许为MATLAB数据类型自定义名称。通过使用指定自定义名称 |
EnableMemcpy
- - - - - -memcpy
优化真正的
(默认)|假
memcpy
最优化,指定为该表中的一个值。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 如果可能,代码生成器使用 |
假 |
代码生成器不使用 |
EnableOpenMP
- - - - - -并行化的parfor
循环真正的
(默认)|假
并行化的parfor
-loops,指定为该表中的一个值。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 如果可能的话,代码生成器使用OpenMP库生成并行运行的循环迭代。 |
假 |
代码生成器处理 |
看到parfor
.
OpenMP库的使用与即时(JIT)编译不兼容。如果EnableJIT
和EnableOpenMP
是真正的
,代码生成器使用JIT编译和处理parfor
循环,为
循环。
EnableRuntimeRecursion
- - - - - -运行时支持递归金宝app真正的
(默认)|假
运行时递归支持,指定为该表中的值之一。金宝app
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 在生成的代码中允许使用递归函数。 |
假 |
生成的代码中不允许使用递归函数。 |
一些编码标准,如MISRA,不允许递归。增加生成符合MISRA C的代码的可能性®,设置EnableRuntimeRecursion
来假
.
如果你的MATLAB代码需要运行时递归和EnableRuntimeRecursion
是假
,代码生成失败。
看到递归函数的代码生成.
EnableSignedLeftShifts
- - - - - -用带符号的左位移位替换2的幂的乘法真正的
(默认)|假
在生成的C/ c++代码中用带符号的左移位替换2的乘数,指定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 对于2的乘方,代码生成器使用带符号的左移位。生成的C代码使用符号左移表示乘以8的例子如下: < < = 3; |
假 |
对于2的幂乘法,代码生成器不使用带符号的左移位。下面是一个不使用符号左移的C代码示例: I = I * 8; |
GPU编码器™总是设置EnableSignedLeftShifts
属性为true。
一些编码标准,如MISRA,不允许对有符号整数进行位操作。为了增加生成MISRA C兼容代码的可能性,设置EnableSignedLeftShifts
来假
.
看到生成代码中的控制符号左移(嵌入式编码).
EnableSignedRightShifts
- - - - - -生成的代码中有符号的右位移位真正的
(默认)|假
生成的代码中有符号的右移位,指定为该表中的一个值。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器使用有符号的右移位。一个使用符号右移生成的C代码示例如下: 我> > = 3 |
假 |
代码生成器用生成的代码中的函数调用替换有符号整数上的右移位。例如: i = asr_s32(i, 3U); |
GPU编码器总是设置EnableSignedRightShifts
属性为true。
一些编码标准,如MISRA,不允许对有符号整数进行位操作。为了增加生成MISRA-C:2004兼容代码的可能性,设置EnableSignedRightShifts
来假
.
EnableStrengthReduction
- - - - - -强度降低优化假
(默认)|真正的
强度降低优化,指定为表中值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器不使用强度降低优化。 |
真正的 |
代码生成器尝试使用强度降低优化来简化生成代码中循环中的数组索引。如果可能,对于循环中的数组索引,代码生成器将用添加操作替换乘法操作。乘法运算可能很昂贵。当目标平台上的C/ c++编译器不优化数组索引时,强度降低优化是有用的。即使优化替换了生成代码中的乘法操作,C/ c++编译器也可能生成乘法指令。 |
EnableTraceability
- - - - - -代码生成报告中的可追溯性代码生成报告中的可追溯性,指定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成报告包括代码可跟踪性。看到交互式跟踪MATLAB代码和生成的C/ c++代码(嵌入式编码). |
假 |
代码生成报告不包括代码可跟踪性。 |
EnableVariableSizing
- - - - - -适应可变数组支持金宝app真正的
(默认)|假
支持可变大小数组,指定为该表中的值之一。金宝app
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 允许使用可变大小的数组生成代码。 |
假 |
不允许使用可变大小的数组生成代码。 |
依赖:
使动态内存分配
.
看到可变大小数组的代码生成.
FilePartitionMethod
- - - - - -文件分区模式“MapMFileToCFile”
(默认)|“SingleFile”
指定为该表中的值之一的文件分区模式。
价值 | 描述 |
---|---|
“MapMFileToCFile” |
此值为默认值。 代码生成器为每个MATLAB语言文件生成单独的C/ c++文件。 |
“SingleFile” |
代码生成器为映射到MATLAB入口点函数的C/ c++函数生成一个文件。代码生成器为实用函数生成单独的C/ c++文件。 |
GenerateCodeMetricsReport
- - - - - -静态代码度量报告假
(默认)|真正的
静态代码度量报告,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器在代码生成时不会运行静态代码度量分析。您可以稍后通过单击运行分析并生成报告代码度量在总结选项卡的代码生成报告。 |
真正的 |
代码生成器运行静态代码度量分析,并在代码生成时生成报告。 |
要打开代码度量报告,请单击代码度量链接总结选项卡的代码生成报告。
依赖:
代码生成器仅在以下情况下生成静态代码度量报告GenerateReport是真正的
或者如果你指定报告
选择的codegen
报告。
看到为MATLAB代码生成的代码生成一个静态代码度量报告(嵌入式编码).
GenCodeOnly
- - - - - -只生成源代码假
(默认)|真正的
仅生成源代码,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器生成C/ c++源代码并构建目标代码。 |
真正的 |
代码生成器生成C/ c++源代码,但不调用make命令或构建对象代码。当您在修改MATLAB代码和生成C/ c++代码之间进行迭代时,只生成代码可以节省时间。 |
GenerateCodeReplacementReport
- - - - - -代码替换报告假
(默认)|真正的
代码替换报告,按本表中的值指定。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器不生成代码替换报告。 |
真正的 |
代码生成器生成一个代码替换报告,该报告总结了来自所选代码替换库的替换。该报告提供了每个代码替换实例与触发替换的MATLAB代码行之间的映射。 |
GenerateComments
- - - - - -生成代码中的注释真正的
(默认)|假
生成代码中的注释,指定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器在生成的代码中放置注释。 |
假 |
代码生成器不会在生成的代码中放置注释。 |
GenerateDefaultInSwitch
- - - - - -所有switch语句的默认情况假
(默认)|真正的
所有switch语句的默认情况,指定为该表中的一个值。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器可能不会为某些switch语句生成默认情况。 |
真正的 |
代码生成器为生成的代码中的所有switch语句生成默认情况。 |
一些编码标准,如MISRA,要求switch语句使用默认情况。
GenerateExampleMain
- - - - - -示例C/ c++主文件生成“GenerateCodeOnly”
(默认)|“DoNotGenerate”
|“GenerateCodeAndCompile”
例C/ c++主文件生成,指定为表中值之一。
价值 | 描述 |
---|---|
“GenerateCodeOnly” |
此值为默认值。 代码生成器生成一个示例C/ c++ main函数,但不编译它。 |
“DoNotGenerate” |
代码生成器不会生成一个示例C/ c++主函数。 |
“GenerateCodeAndCompile” |
代码生成器生成一个示例C/ c++ main函数,并编译它以创建一个测试可执行文件。此可执行文件不返回输出。 如果 |
main函数示例是一个模板,用于帮助您编写C/ c++ main函数,调用生成的C/ c++代码。看到使用示例主函数合并生成的代码.
GenerateMakefile
- - - - - -Makefile代真正的
(默认)|假
在构建过程中生成Makefile,指定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器在构建过程中生成一个makefile。 |
假 |
代码生成器在构建过程中不会生成生成文件。在post-code-generation命令中指定用于post-code-generation处理的指令,包括编译和链接。看到构建流程定制. |
GenerateNonFiniteFilesIfUsed
- - - - - -仅当使用非有限数据金宝app时,才为非有限数据生成支持文件真正的
(默认)|假
为非有限数据生成支持文件,指金宝app定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器为非有限数据生成支持文件(金宝app |
假 |
代码生成器总是为非有限数据生成支持文件(金宝app |
依赖:
设置金宝appSupportNonFinite
来真正的
支持这个参数。
GenerateReport
- - - - - -代码生成报告假
(默认)|真正的代码生成报告,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器仅在出现错误或警告消息或设置 |
真正的 |
代码生成器生成代码生成报告。 |
硬件
- - - - - -指定硬件板的对象编码器。硬件
对象指定硬件板的对象。创建编码器。硬件
对象,使用coder.hardware
.例如:
cfg = coder.config(“自由”);hw =编码器。硬件(覆盆子π);cfg。硬件= hw;
使用之前coder.hardware
,必须安装硬件单板的支撑包。金宝app
依赖关系:
设置硬件
定制特定硬件单板的硬件实现对象和其他配置参数。
如果DeepLearningConfig
设置为编码器。一个RMNEONConfig
对象和硬件
是空的,然后codegen
设置GenCodeOnly
财产真正的
.
注意:
假设您创建了一个编码器。CodeConfig
对象cfg
并在另一个MATLAB会话中使用它。如果MATLAB主机对于第二次会话没有指定的硬件板cfg。硬件
属性时,此参数将恢复为其默认值。默认值为[]
.
为PIL执行指定硬件板,请参阅在命令行使用ARM Cortex-A执行PIL(嵌入式编码).
HardwareImplementation
- - - - - -硬件实现对象编码器。HardwareImplementation
对象硬件实现对象,为C/ c++代码生成指定特定于硬件的配置参数。coder.config
创建一个编码器。EmbeddedCodeConfig
对象的HardwareImplementation
属性设置为编码器。HardwareImplementation
对象的默认参数值,用于MATLAB主机。
HeaderGuardStyle
- - - - - -生成代码中的预处理器指令风格UseIncludeGuard
(默认)|UsePragmaOnce
为了防止由于包含多个头文件而导致的编译错误,代码生成器只生成一个头文件#如果未定义
或# pragma一旦
在生成的头文件中的构造。如果项目使用使用相同预处理器宏的不同文件,则使用# pragma一旦
构造。的编译行为# pragma一旦
不是标准化的。
指定HeaderGuardStyle
作为表中的值之一。
价值 | 描述 |
---|---|
UseIncludeGuard |
代码生成器生成 |
UsePragmaOnce |
代码生成器生成# pragma一旦 风格# include 警卫。 |
HighlightPotentialDataTypeIssues
- - - - - -代码生成报告中突出显示潜在的数据类型问题假
(默认)|真正的
在代码生成报告中突出显示潜在的数据类型问题,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 此代码生成报告没有突出潜在的数据类型问题。 |
真正的 |
代码生成报告强调了在生成的C/ c++代码中导致单精度或双精度操作的MATLAB代码。如果您有Fixed-Point Designer™,报告还会突出显示MATLAB代码中导致生成代码中昂贵的定点操作的表达式。 |
HighlightPotentialRowMajorIssues
- - - - - -潜在的行主布局问题真正的
(默认)|假
显示潜在的行主布局效率问题,指定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
代码生成报告显示了由于行主布局造成的潜在效率问题。(此值为默认值。) |
假 |
代码生成报告不会显示与数组布局相关的问题。 |
看到行主数组布局的代码设计.
IncludeInitializeFcn
- - - - - -初始化函数生成真正的
(默认)|假
初始化函数生成,指定为本表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器生成一个初始化函数。 |
假 |
代码生成器不生成初始化函数。如果你设置 看到在生成的代码中需要一个非空初始化函数的MATLAB代码模式(嵌入式编码). |
IncludeTerminateFcn
- - - - - -终止函数生成真正的
(默认)|假
终止函数生成,指定为该表中的一个值。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器产生一个terminate函数。 |
假 |
代码生成器不生成terminate函数。如果你设置 |
IndentSize
- - - - - -每个缩进级别的字符数每个缩进级别的字符数,指定为[2,8]范围内的正整数。
IndentStyle
- - - - - -在生成的代码中放置大括号的样式“k和r”
(默认)|“奥尔曼”
在生成的代码中放置大括号的样式,指定为该表中的值之一。
价值 | 描述 |
---|---|
“k和r” |
此值为默认值。 对于函数中的块,左大括号与它的控制语句在同一行。例如: Void addone(const double x[6], double z[6]) {int i0;For (i0 = 0;i0 < 6;{z[I0] = x[I0] + 1.0;} } |
“奥尔曼” |
对于函数中的块,左大括号在其自己的行上,其缩进级别与其控制语句相同。例如: Void addone(const double x[6], double z[6]) {int i0;For (i0 = 0;i0 < 6;{z[I0] = x[I0] + 1.0;} } |
InitFltsAndDblsToZero
- - - - - -用memset对浮点数和双零赋值真正的
(默认)|假
赋值float和double zeromemset
,指定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 如果可能,代码生成器使用 |
假 |
代码生成器不使用 |
InlineBetweenMathWorksFunctions
- - - - - -MathWorks函数之间的控件内联“速度”
(默认)|“总是”
|“可读性”
|“永远”
在MathWorks调用另一个MathWorks函数(指定为该表中的值之一)的所有调用站点上的内联行为。
价值 | 描述 |
---|---|
“速度” |
此值为默认值。 使用内部试探法确定是否在调用站点执行内联。这种设置通常会导致高度优化的代码。 |
“总是” |
始终在呼叫站点执行内联。 |
“可读性” |
几乎从不内联函数调用,除非调用非常小的函数。尽可能保持代码的模块化,而不牺牲太多的速度。结果是高可读性的代码。 |
“永远” |
永远不要内联函数调用。导致最大的可读性。此设置可能会显著降低生成代码的性能。 |
即使你选择了“总是”
或者是“永远”
选项,在某些情况下,代码生成器可能不会严格遵循该指令。例如,如果有冲突,则coder.inline(总是)
或coder.inline(“不”)
置于函数体内的指令将重写此选项。有关更多信息,请参见不同内联控件之间的交互.
InlineBetweenUserAndMathWorksFunctions
- - - - - -用户编写的函数和MathWorks函数之间的控件内联“速度”
(默认)|“总是”
|“可读性”
|“永远”
在您编写的函数调用MathWorks函数或MathWorks函数调用您编写的函数的所有调用站点上的内联行为。指定为该表中的值之一。
价值 | 描述 |
---|---|
“速度” |
此值为默认值。 使用内部试探法确定是否在调用站点执行内联。这种设置通常会导致高度优化的代码。 |
“总是” |
始终在呼叫站点执行内联。 |
“可读性” |
几乎从不内联函数调用,除非调用非常小的函数。尽可能保持代码的模块化,而不牺牲太多的速度。结果是高可读性的代码。 |
“永远” |
永远不要内联函数调用。导致最大的可读性。此设置可能会显著降低生成代码的性能。 |
即使你选择了“总是”
或者是“永远”
选项,在某些情况下,代码生成器可能不会严格遵循该指令。例如,如果有冲突,则coder.inline(总是)
或coder.inline(“不”)
置于函数体内的指令将重写此选项。有关更多信息,请参见不同内联控件之间的交互.
InlineBetweenUserFunctions
- - - - - -用户编写的函数之间的控件内联“速度”
(默认)|“总是”
|“可读性”
|“永远”
在你写的函数调用你写的另一个函数的所有调用站点上的内联行为,指定为表中的值之一。
价值 | 描述 |
---|---|
“速度” |
此值为默认值。 使用内部试探法确定是否在调用站点执行内联。这种设置通常会导致高度优化的代码。 |
“总是” |
始终在呼叫站点执行内联。 |
“可读性” |
几乎从不内联函数调用,除非调用非常小的函数。尽可能保持代码的模块化,而不牺牲太多的速度。结果是高可读性的代码。 |
“永远” |
永远不要内联函数调用。导致最大的可读性。此设置可能会显著降低生成代码的性能。 |
即使你选择了“总是”
或者是“永远”
选项,在某些情况下,代码生成器可能不会严格遵循该指令。例如,如果有冲突,则coder.inline(总是)
或coder.inline(“不”)
置于函数体内的指令将重写此选项。有关更多信息,请参见不同内联控件之间的交互.
LaunchReport
- - - - - -自动打开代码生成报告假
(默认)|真正的自动打开代码生成报告,指定为本表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 如果出现错误或警告,或者 |
真正的 |
代码生成器生成并打开代码生成报告。 |
LoopUnrollThreshold
- - - - - -确定是否自动展开的迭代次数的阈值为
循环迭代次数少于此阈值的循环可以由代码生成器自动展开。这个阈值适用于所有人为
-循环在MATLAB代码中。对一个人为
循环,coder.unroll
直接放在循环之前的指令优先于循环展开优化。这个阈值也适用于某些情况为
在代码生成期间生成的循环。
看到展开for循环.
MATLABFcnDesc
- - - - - -MATLAB函数帮助文本在函数横幅真正的
(默认)|假
MATLAB函数帮助文本在函数banner中生成的代码指定为本表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器在生成的代码的函数横幅中包含MATLAB函数帮助文本。 |
假 |
代码生成器将帮助文本视为用户注释。 |
如果不选择,MATLAB编码器将帮助文本视为用户评论。
依赖关系:
GenerateComments
支持这个参数。
MATLABSourceComments
- - - - - -包含MATLAB源代码作为注释生成的代码假
(默认)|真正的
将MATLAB源代码作为注释包含在生成的代码中,指定为表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器不会在生成的代码中插入MATLAB源代码作为注释。代码生成器在函数横幅中不包含MATLAB函数签名。 |
真正的 |
代码生成器将MATLAB源代码作为注释插入生成的代码中。可跟踪性标记紧跟在每一行源代码的前面。跟踪标签帮助您定位相应的MATLAB源代码。看到跟踪生成的C/ c++代码到MATLAB源代码. 如果您有Embedded Coder,在代码生成报告中,跟踪标记将链接到源代码。 代码生成器还在函数横幅中包含MATLAB函数签名。 |
依赖:
GenerateComments
支持这个参数。
MaxIdLength
- - - - - -生成标识符的最大字符数31
|1024|正整数生成标识符的最大字符数,指定为范围[31,2048]的正整数。此属性适用于生成的函数、类型定义和变量名。为了避免被目标C/ c++编译器截断标识符,指定一个与目标C/ c++编译器的最大标识符长度匹配的值。
该属性不适用于导出的标识符,例如为入口点函数或emxArray API函数生成的名称。如果导出的标识符的长度超过目标C/ c++编译器的最大标识符长度,目标C/ c++编译器将截断导出的标识符。
默认值:
如果TargetLang
被设置为“C”
的默认值MaxIdLength
是31
.
如果TargetLang
被设置为“c++”
的默认值MaxIdLength
是1024
.
MultiInstanceCode
- - - - - -多实例,可重入代码假
(默认)|真正的
的名字
- - - - - -对象名称“EmbeddedCodeConfig”
(默认)|特征向量对象名称,指定为字符向量。
OutputType
- - - - - -从生成的C/ c++代码构建的输出“自由”
|“DLL”
|EXE”
从生成的C/ c++代码构建的输出,指定为该表中的值之一。
价值 | 描述 |
---|---|
“自由” |
静态库 |
“DLL” |
动态链接库 |
EXE” |
可执行程序 |
ParenthesesLevel
- - - - - -生成代码中的括号级别“名义”
(默认)|“最低”
|“最大”
生成代码中的括号级别,指定为该表中的值之一。
价值 | 描述 |
---|---|
“名义” |
此值为默认值。 代码生成器插入括号以平衡可读性和视觉复杂性。例如: Out = ((In2 - In1 > 1.0) && (In2 > 2.0)); |
“最大” |
代码生成器包含括号来指定含义,而不依赖操作符优先级。使用此设置生成的代码符合MISRA要求。例如: Out = (((In2 - In1) > 1.0) && (In2 > 2.0)); |
“最低” |
代码生成器在ANSI需要的地方插入括号®C或c++,或重写默认优先级。例如: Out = In2 - In1 > 1.0 && In2 > 2.0; 如果您生成的C/ c++代码使用了最低级别,对于某些编译器中的某些设置,您可以收到编译器警告。要消除这些警告,请尝试名义级别。 |
PassStructByReference
- - - - - -引用传递结构真正的
(默认)|假
通过引用入口点函数传递结构,指定为表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 生成的代码通过引用传递结构,通过最小化入口点函数边界上参数的副本数量来减少内存使用和执行时间。 请注意 写入结构参数字段的入口点函数将重写输入值。 |
假 |
生成的代码按值传递结构。 |
此参数仅适用于入口点函数。
PostCodeGenCommand
- - - - - -命令自定义生成处理”
(默认)|特征向量命令自定义MEX函数生成后的构建处理codegen
,指定为字符向量。
看到构建流程定制.
PreserveExternInFcnDecls
- - - - - -保存的走读生
函数声明中的关键字真正的
(默认)|假
保存的走读生
在生成的代码中函数声明中的关键字,指定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器包括 |
假 |
代码生成器删除 |
PreserveArrayDimensions
- - - - - -n维索引假
(默认)|真正的
PreserveVariableNames
- - - - - -要保留在生成的代码中的变量名“没有”
(默认)|“用户名”
|“所有”
要保留在生成的代码中的变量名,指定为该表中的值之一。
价值 | 描述 |
---|---|
“没有” |
此值为默认值。 代码生成器不需要保留任何变量名。它可以重用任何满足变量重用要求的变量。 如果您的代码使用大型结构或数组,则设置 |
“用户名” |
代码生成器保留与您在MATLAB代码中定义的变量对应的名称。它不会将变量名替换为另一个名称,也不会将您的名称用于另一个变量。为了提高可读性,设置 设置 |
“所有” |
保留所有变量名。此参数值禁止变量重用。它只用于测试或调试,而不是用于生产代码。 |
看到在生成的代码中保留变量名.
PurelyIntegerCode
- - - - - -浮点代码的检测假
(默认)|真正的
浮点代码的检测,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器允许浮点数据和操作。 |
真正的 |
代码生成器不允许浮点数据或操作。如果代码生成器检测到浮点数据或操作,则代码生成将以错误结束。 |
依赖:
设置PurelyIntegerCode
来真正的
禁用金宝appSupportNonFinite
参数。设置PurelyIntegerCode
来假
使金宝appSupportNonFinite
参数。
ReplacementTypes
- - - - - -为MATLAB数据类型指定自定义名称编码器。ReplacementTypes
对象为这些MATLAB内置数据类型指定自定义名称:双
,单
,uint8
,uint16
,uint32
,uint64
,int8
,int16
,int32
,int64
,字符
,逻辑
在生成的C/ c++代码中。
依赖:
设置EnableCustomReplacementTypes
来真正的
使ReplacementTypes
参数。看到自定义数据类型替换(嵌入式编码).
ReportInfoVarName
- - - - - -包含代码生成报告信息的变量的名称”
(默认)|特征向量将有关代码生成的信息导出到其上的变量的名称,指定为字符向量。代码生成器在基本的MATLAB工作空间中创建这个变量。此变量包含有关代码生成设置、输入文件、生成文件和代码生成消息的信息。
ReportPotentialDifferences
- - - - - -潜在的差异报告真正的
(默认)|假
电位差报告,指定为表中值之一:
价值 | 描述 |
---|---|
真正的 |
代码生成器报告生成的代码和MATLAB代码之间的潜在行为差异。潜在的差异列在代码生成报告的一个选项卡上。电位差是在运行时仅在某些条件下发生的差值。 |
假 |
代码生成器不会报告潜在的差异。 |
看到潜在的差异报告.
ReservedNameArray
- - - - - -代码生成器不能对函数或变量使用名称”
(默认)|字符串数组|字符向量的单元格数组|特征向量代码生成器不能对函数或变量使用的名称列表,指定为字符串数组、字符向量的单元格数组或字符向量。
多个保留名,指定为该表中的一个值。
价值 | 描述 |
---|---|
字符串数组 | 中的字符串数组 |
字符向量的单元格数组 | 中字符向量的单元格数组 |
特征向量 | 中以分号分隔的保留名称列表 请注意 在以后的版本中,将不再使用字符向量在代码配置对象中指定多个条目。请使用字符向量的字符串数组和单元格数组。有关更多信息,请参见兼容性的考虑. |
RowMajor
- - - - - -行存储阵列布局假
(默认)|真正的
RunInitialzeFcn
- - - - - -自动运行初始化函数在生成的入口点函数的开始处生成对初始化函数的调用,指定为该表中的值之一。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 在生成的入口点函数的开头包含对初始化函数的调用。生成的代码包括检查,以确保初始化函数只被调用一次,即使有多个入口点函数。 |
假 |
生成的入口点函数不包括对初始化函数的调用。 |
依赖:
设置IncludeInitializeFcn
和IncludeTerminateFcn
来真正的
支持这个参数。
设置MultiInstanceCode
来真正的
禁用这个参数。
RuntimeChecks
- - - - - -在生成的代码中检测和报告运行时错误假
(默认)|真正的
在生成的代码中进行运行时错误检测和报告,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 生成的代码不会检查诸如超出边界的数组索引之类的错误。 |
真正的 |
生成的代码将检查诸如超出边界的数组索引之类的错误。 错误报告软件使用 错误信息是英文的。 |
SaturateOnIntegerOverflow
- - - - - -整数溢出的支持金宝app真正的
(默认)|假
整数溢出支持,指定为该表中的一个值金宝app。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 代码生成器生成处理整数溢出的代码。溢出会饱和到数据类型所能表示的最小值或最大值。 |
假 |
代码生成器不会生成处理整数溢出的代码。不设置 |
此参数仅适用于MATLAB内置整数类型。它不适用于双精度、单精度或定点数据类型。
SILDebugging
- - - - - -在SIL执行期间调试生成的代码假
(默认)|真正的
在循环中软件(SIL)执行期间生成代码的源代码级调试,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 在SIL执行期间禁用对生成代码的调试。 |
真正的 |
允许调试器在软件在循环(SIL)执行期间观察代码行为。 金宝app调试器支持:
|
看到在SIL执行期间调试生成的代码(嵌入式编码).
SILPILCheckConstantInputs
- - - - - -用于SIL或PIL执行的恒定输入检查模式真正的
(默认)|假
SIL或PIL执行的恒定输入检查模式,指定为该表中的一个值。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 SIL或PIL执行将测试文件为常量输入参数提供的值与代码生成时指定的值进行比较。如果值不匹配,则会发生错误。 |
假 |
SIL或PIL执行不会将测试文件为常量输入参数提供的值与代码生成时指定的值进行比较。SIL或PIL执行使用代码生成时指定的值。如果测试文件使用不同的值,那么MATLAB中的结果可能与SIL或PIL执行中的结果不同。 可以通过设置来加速SIL或PIL执行 |
看到通过禁用常量输入检查和全局数据同步来加速SIL/PIL执行(嵌入式编码)
SILPILSyncGlobalData
- - - - - -SIL或PIL执行的全球数据同步模式真正的
(默认)|假
SIL或PIL执行的全局数据同步模式,指定为该表中的一个值。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 SIL或PIL执行将SIL或PIL执行环境中的全局变量值与MATLAB工作空间中的值同步。如果一个全局变量是常量,并且它在SIL或PIL执行环境中的值与它在MATLAB工作空间中的值不同,就会发生错误。 |
假 |
SIL或PIL执行并不同步SIL或PIL执行环境中的全局变量值与MATLAB工作空间中的值。如果值不是同步的,MATLAB中的结果可能与SIL或PIL执行中的结果不同。 可以通过设置来加速SIL或PIL执行 |
看到通过禁用常量输入检查和全局数据同步来加速SIL/PIL执行(嵌入式编码)
StackUsageMax
- - - - - -每个应用程序的最大堆栈使用量200000
(默认)|正整数每个应用程序的最大堆栈使用量,以字节为单位,指定为正整数。设置一个小于可用堆栈大小的限制。否则,可能会发生运行时堆栈溢出。C编译器检测并报告堆栈溢出。
金宝appSupportNonFinite
- - - - - -金宝app支持非有限值真正的
(默认)|假
金宝app支持非有限值,指定为该表中的一个值。
价值 | 描述 |
---|---|
真正的 |
此值为默认值。 如果 如果 |
假 |
代码生成器不生成支持非有限值的代码。金宝app |
TargetLang
- - - - - -生成代码中使用的语言“C”
(默认)|“c++”
生成代码中使用的语言,指定为“C”
或“c++”
.如果指定c++,代码生成器将C代码包装到.cpp文件中,这样您就可以使用c++编译器并与外部c++应用程序进行接口。它不生成c++类。
依赖:如果DeepLearningConfig
是集,codegen
集TargetLang
来c++
.
TargetLangStandard
- - - - - -用于生成代码的语言标准“汽车”
(默认)|“C89 /人私下偷偷收藏盒式(ANSI)”
|“C99 (ISO)”
|“c++ 03 (ISO)”
|“c++ 11 (ISO)”
的“汽车”
选择使用TargetLang
设置为选择为生成的代码使用的语言标准。默认语言标准取决于您选择的语言。对于C语言,默认库是“C99 (ISO)”
.对于c++,默认库是“c++ 11 (ISO)”
.
用于生成代码的语言标准,指定为以下字符向量之一:
“C89 /人私下偷偷收藏盒式(ANSI)”
“C99 (ISO)”
“c++ 03 (ISO)”
“c++ 11 (ISO)”
代码生成器使用标准库调用数学和其他操作。
看到改变标准数学库.
工具链
- - - - - -用于构建C/ c++库或可执行程序的工具链“自动定位安装的工具链”
(默认)|特征向量用于构建C/ c++库或可执行程序的工具链,指定为字符向量。可用工具链的列表取决于主机平台,可以包括您添加的自定义工具链。如果您没有指定工具链,代码生成器将定位已安装的工具链。
注意:
假设您创建了一个编码器。CodeConfig
对象cfg
并在另一个MATLAB会话中使用它。如果用于第二会话的MATLAB主机没有在中指定的工具链cfg。工具链
属性时,此参数将恢复为其默认值。默认值为“自动定位安装的工具链”
.
详细的
- - - - - -代码生成进度显示(将被删除)真正的
代码生成进度显示,指定为该表中的值之一。
价值 | 描述 |
---|---|
假 |
此值为默认值。 代码生成器不显示代码生成进度。 |
真正的 |
代码生成器显示代码生成过程,包括代码生成阶段和编译器输出。 |
冗长
- - - - - -代码生成进度显示“信息”
(默认)|“沉默”
|“详细”
是否在MATLAB命令行显示代码生成进度的状态,指定为该表中的值之一。
价值 | 描述 |
---|---|
“沉默” |
如果代码生成成功而没有警告,所有消息都会被抑制,包括生成报告时。 显示警告和错误信息。 |
“信息” |
此值为默认值。 相比
|
“详细” |
除了显示的消息 |
VerificationMode
- - - - - -代码验证模式“没有”
(默认)|“银”
|“公益诉讼”
代码验证模式,指定为该表中的值之一。
价值 | 描述 |
---|---|
“没有” |
正常执行 |
“银” |
Software-in-the-loop (SIL)执行 |
“公益诉讼” |
Processor-in-the-loop(公益诉讼)执行 |
看到通过软件在环和处理器在环执行的代码验证(嵌入式编码).
编写一个MATLAB函数,从中可以生成代码。下面的例子使用了这个函数myadd
返回其输入的和。
函数myadd(a,b) = myadd(a,b);结束
创建一个配置对象来生成独立的C/ c++代码(静态库、动态链接库或可执行程序)。例如,为生成静态库创建配置对象。
cfg = coder.config (“自由”);
如果已安装Embedded Coder,coder.config
创建一个编码器。EmbeddedCodeConfig
对象。
更改不希望使用默认值的属性值。例如,将生成代码中的注释样式更改为一行注释//
.
cfg。CommentStyle =单行的;
的CommentStyle
属性仅在嵌入式编码器配置对象中可用。
使用以下命令生成代码codegen
.将配置对象传递给codegen
通过使用配置
选择。指定输入参数为标量双精度。
codegenmyadd配置cfgarg游戏{1}报告
使用生成类型的默认配置参数“自由”
,“DLL”
,或EXE”
,可以使用codegen
选项配置:自由
,配置:dll
,或配置:exe
,分别。然后,您不必创建并传递配置对象codegen
.
未来版本中的行为改变
在未来的版本中,通过使用具有分隔符的字符向量或字符串标量在代码配置对象中指定多个文件名、路径或保留名称将被删除。请使用字符串数组和字符向量的单元格数组。例如,要包含多个文件夹名,可以使用字符串数组中的任意一个CustomInclude
作为cfg。CustomInclude = ["C:\项目","C:\自定义文件"];
或字符向量的单元格数组cfg。CustomInclude = {'C:\项目','C:\自定义文件'};
以包含编译生成代码的路径。
详细的
要删除的属性未来版本中的行为改变
在未来的版本中详细的
属性将被删除。
要配置代码生成进度显示,请使用冗长
财产。
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。