coder.CodeConfig
配置参数C / c++代码生成MATLAB代码
描述
一个coder.CodeConfig
对象包含的配置参数codegen
用于生成一个静态库,动态链接库,或一个可执行程序。通过对象的codegen
函数使用配置
选择。
创建
创建一个coder.CodeConfig
通过使用对象coder.config
函数。
一旦你创建一个coder.CodeConfig
对象,您可以在命令行或修改其属性以编程方式交互地使用配置参数对话框。看到在命令行指定配置参数工作流交互。
属性
BuildConfiguration
- - - - - -编译器工具链的优化或调试设置
“快跑”
(默认)|“加快构建”
|“调试”
|“指定”
编译器工具链的优化或调试设置,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“加快构建” |
优化的构建更短的建立时间。 |
“快跑” |
优化构建可执行程序运行的更快。 |
“调试” |
优化构建进行调试。 |
“指定” |
使 |
CacheDynamicArrayDataPointer
- - - - - -动态数组优化
真正的
(默认)|假
CodeFormattingTool
- - - - - -生成的代码格式化工具
“汽车”
(默认)|“Clang-format”
|“MathWorks”
代码生成的代码的格式化选项,表中指定的值。
价值 | 描述 |
---|---|
“Clang-format” |
代码生成器生成的代码格式显示 |
“汽车” |
使用一个内部启发式来确定生成的代码格式化 确定生成的代码被格式化了 |
“MathWorks” |
原因代码生成器回到MathWorks格式化工具。 |
CodeReplacementLibrary
- - - - - -代码替换为生成的代码库
特征向量
代码替换为生成的代码库,指定为这个表中的值之一:
价值 | 描述 |
---|---|
“没有” |
这个值是默认值。 不使用一个代码替换库。 |
命名的代码替换库 | 生成调用一个特定的平台,编译器,或标准代码替换库。命名的列表库取决于:
|
兼容库依赖于这些参数:
TargetLang
TargetLangStandard
ProdHWDeviceType
在硬件实现配置对象。
嵌入式编码器提供了更多的库和能力来创建和使用自定义代码替换库。
MATLAB®编码器™生成的最小集合# include
选择所需的头文件代码语句替换库。
设置这个参数之前,确认您的编译器支持您想要使用的库。金宝app如果你选择一个参数值,编译器不支持,会发生编译器错误。金宝app
请注意
MATLAB编码器软件不支持TLC回调。金宝app
CompileTimeRecursionLimit
- - - - - -最大数量的功能专门化编译时递归
50(默认)|正整数
最大数量的专门化的编译时递归函数,指定为一个正整数。在MATLAB代码不允许递归,集CompileTimeRecursionLimit
为0。默认编译时递归限制是大到足以让最需要这种类型的递归的递归函数。如果代码生成失败,因为编译时递归限制,和你想要编译时递归,试图增加的极限。另外,改变你的MATLAB代码,代码生成器使用运行时递归。看到编译时递归限制达到。
ConstantFoldingTimeout
- - - - - -最大数量的指令执行的常数文件夹
40000年(默认)|正整数
最大数量的恒定文件夹执行的指令。在某些情况下,代码生成需要特定的指令是常数。如果constant-folded常数合并之前停止这些指令,代码生成失败。在这种情况下,增加的价值ConstantFoldingTimeout
。
CppGenerateEnumClass
- - - - - -为MATLAB生成c++ 11枚举类枚举
真正的
(默认)|假
生成c++代码11是否包含枚举类或普通C枚举指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器生成枚举类的MATLAB枚举生成c++代码11。看到为枚举代码生成。 |
假 |
代码生成器产生普通C枚举的MATLAB枚举生成c++代码11。 |
依赖:
设置
TargetLang
来“c++”
支持这个参数。
CppInterfaceClassName
- - - - - -接口类名称生成c++代码
”
(默认)|特征向量
接口类的名称时生成c++代码CppInterfaceStyle
设置为“方法”
。在这种情况下,对MATLAB生成的代码入口点函数的方法包含在一个c++类所指定的名称CppInterfaceClassName
。当你设定这个属性没有影响CppInterfaceStyle
来“功能”
。
看到生成c++代码的类接口。
CppInterfaceStyle
- - - - - -生成c++代码界面风格
“功能”
(默认)|“方法”
风格的界面为MATLAB生成c++代码入口点函数生成代码。默认情况下,入口点函数成为c++函数。如果你选择“方法”
,然后入口点函数成为c++类的方法。指定类的属性的名称CppInterfaceClassName
。
看到生成c++代码的类接口。
依赖:
设置
TargetLang
来“c++”
支持这个参数。
CppPackagesToNamespaces
- - - - - -为MATLAB软件包生成c++名称空间
真正的
(默认)|假
是否为包生成c++名称空间在MATLAB代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器生成c++名称空间在MATLAB代码包。看到生成c++代码组织成名称空间。 |
假 |
代码生成器不能产生c++名称空间在MATLAB代码的包。 |
依赖:
设置
TargetLang
来“c++”
支持这个参数。
数据类型:逻辑
CppNamespace
- - - - - -命名空间名称生成c++代码
”
(默认)|特征向量
CppNamespaceForMathworksCode
- - - - - -为MathWorks生成c++代码的代码在一个单独的名称空间
“编码器”
(默认)|特征向量
名称空间为MathWorks生成c++代码的代码。代码生成器不能产生这样一个名称空间如果指定这个属性是一个空的特征向量。
依赖:
设置
TargetLang
来“c++”
支持这个参数。
数据类型:字符
CppPreserveClasses
- - - - - -为MATLAB生成c++类的类
真正的
(默认)|假
是否生成c++类C风格为MATLAB类结构,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 为MATLAB代码生成器生成c++类的类。看到为MATLAB生成c++类的类。 |
假 |
代码生成器生成C风格为MATLAB类结构。 |
当使用GPU编码器™,代码生成器总是禁用这个参数。
依赖:
设置
TargetLang
来“c++”
支持这个参数。
数据类型:逻辑
CustomBLASCallback
- - - - - -布拉斯特区callback类
' '(默认)|特征向量
回调类巴拉斯库调用的代码生成的某些低级的向量和矩阵运算在MATLAB代码中,指定为一个特征向量。
如果你指定巴拉斯回调类,对于某些低级的向量和矩阵函数,代码生成器产生巴拉斯调用使用CBLAS C接口布拉斯特区图书馆。回调类提供CBLAS头文件的名称,CBLAS数据类型的名称,bla库链接到你所需的信息。如果该参数为空,矩阵函数的代码生成器生成的代码而不是巴拉斯的电话。
CustomFFTCallback
- - - - - -回调类FFTW库调用
' '(默认)|特征向量
回调类FFTW库调用的代码生成的FFT函数在MATLAB代码中,指定为一个特征向量。
提高FFT函数的执行速度,代码生成器生成调用FFTW库,您指定的回调类。如果该参数为空,代码生成器使用自己的FFT算法函数,而不是调用FFTW图书馆。
CustomHeaderCode
- - - - - -自定义代码,出现在生成的C / c++头文件
' '(默认)|特征向量
定制代码出现顶部附近的每一个C / c++头文件从MATLAB代码生成的,除了rtwtypes.h
和rtwhalf.h
,指定为一个特征向量。
CustomInclude
- - - - - -包括文件夹添加到包括编译生成的代码路径
' '(默认)|字符串数组|单元阵列的特征向量|特征向量
包括文件夹添加到包括当编译生成的代码路径。指定包括文件夹的列表作为一个字符串数组,单元阵列特征向量,特征向量。
多个文件夹名称,指定为这个表中的值之一。
价值 | 描述 |
---|---|
字符串数组 | 一个字符串数组 |
单元阵列的特征向量 | 一个细胞阵列的特征向量 |
特征向量 | 单独由一个包括文件夹 请注意 在代码中指定多个条目配置对象通过使用特征向量将在未来的版本中被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑。 |
CustomInitializer
- - - - - -自定义代码包括在生成的初始化函数
' '(默认)|特征向量
自定义代码包括在生成的初始化函数,指定为一个特征向量。
CustomLAPACKCallback
- - - - - -LAPACK callback类
' '(默认)|特征向量
回调类LAPACK库调用的代码生成的某些线性代数函数在MATLAB代码中,指定为一个特征向量。
如果你指定一个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静态函数定义。
CustomTerminator
- - - - - -出现在终止函数所生成的代码
' '(默认)|特征向量
出现在终止函数所生成的代码,指定为一个特征向量。
CustomToolchainOptions
- - - - - -自定义设置工具选择的工具链
单元阵列
自定义设置工具选择的工具链,指定为一个单元阵列。
依赖关系:
的
工具链
属性决定了哪些工具和选项出现在单元阵列。设置
BuildConfiguration
财产指定
使CustomToolchainOptions
。
首先,获取当前的设置。例如:
cfg = coder.config (“自由”);cfg.BuildConfiguration =“指定”;选择= cfg.CustomToolchainOptions
然后,编辑中的值选择
。
这些价值观源于工具链定义文件和第三方编译器选项。看到自定义工具链登记。
DataTypeReplacement
- - - - - -数据类型在生成的代码替换
“CBuiltIn”
|“CoderTypeDefs”
数据类型替换在生成的代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“CBuiltIn” |
这个值是默认值。 C代码生成器使用内置的数据类型。 |
“CoderTypeDefs” |
代码生成器使用预先定义的数据类型rtwtypes.h |
DeepLearningConfig
- - - - - -深度学习代码生成的配置对象
coder.MklDNNConfig
对象|coder.ARMNEONConfig
对象|coder.CuDNNConfig
对象|coder.TensorRTConfig
对象
配置对象的代码生成深度学习网络,指定为在这个表中指定为一个对象。
对象 | 需要 | 描述 |
---|---|---|
coder.MklDNNConfig |
|
一个 cfg = coder.config (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“mkldnn”); |
coder.ARMNEONConfig |
|
一个 cfg = coder.config (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“arm-compute”); |
coder.CuDNNConfig (GPU编码器) |
|
一个 cfg = coder.gpuConfig (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“cudnn”); 看到通过使用cuDNN代码生成深度学习网络(GPU编码器)。 |
coder.TensorRTConfig (GPU编码器) |
|
一个 cfg = coder.gpuConfig (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“tensorrt”); 看到通过使用TensorRT代码生成深度学习网络(GPU编码器)。 |
依赖:如果DeepLearningConfig
是集,codegen
集TargetLang
来c++
。
描述
- - - - - -对象描述
类CodeConfig: C代码生成配置。
(默认)|特征向量
对象描述,指定为一个特征向量。
DynamicMemoryAllocation
- - - - - -动态内存分配模式
“阈值”
(默认)|“AllVariableSizeArrays”
|“关闭”
动态内存分配模式,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“阈值” |
这个值是默认值。 代码生成器上动态分配内存堆适应可变数组的大小(以字节为单位)大于或等于 |
“AllVariableSizeArrays” |
代码生成器动态所有适应可变数组在堆上分配内存。 |
“关闭” |
静态代码生成器为适应可变数组分配内存的堆栈。 |
无界适应可变数组需要动态内存分配。
依赖关系:
EnableVariableSizing
支持这个参数。设置这个
DynamicMemoryAllocation
来“阈值”
使DynamicMemoryAllocationThreshold
参数。
看到为适应可变数据生成代码。
DynamicMemoryAllocationInterface
- - - - - -动态分配的数组生成的函数接口
“汽车”
(默认)|“C”
|“c++”
实现界面的动态分配的数组生成的C / c++函数,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“汽车” |
这是默认值。如果你设置 |
“C” |
生成的代码使用C风格 |
“c++” |
如果你设置 否则,生成的代码使用 |
使用GPU编码器时,代码生成器总是使用C风格emxArray
数据结构。
依赖:
EnableVariableSizing
支持这个参数。
DynamicMemoryAllocationThreshold
- - - - - -阈值的动态内存分配适应可变数组大小
65536年
(默认)|正整数
动态内存分配的适应可变数组大小阈值,指定为一个正整数。代码生成器使用动态内存分配来适应可变数组的大小(以字节为单位)大于或等于阈值。
依赖:
设置
DynamicMemoryAllocation
来“阈值”
支持这个参数。
看到为适应可变数据生成代码。
EnableAutoExtrinsicCalls
- - - - - -自动非本征函数调用
真正的
(默认)|假
非本征函数调用,自动指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器将一些常见的可视化功能视为外在功能。你不需要将这些函数声明为外部使用 |
假 |
代码生成器不治疗常见可视化函数作为外在功能,除非你宣布他们为外部使用coder.extrinsic 。 |
一些常见的可视化功能情节
,disp
,图
。看到使用MATLAB引擎来执行一个函数调用生成的代码。
EnableAutoParallelization
- - - - - -自动并行化为
循环
假
(默认)|真正的
自动并行化为
循环,在这个表指定为一个值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器并不会自动并行化 |
真正的 |
代码生成器自动截然不同 |
使用GPU编码器时,代码生成器总是让自动并行为
循环。
数据类型:逻辑
EnableAutoParallelizationReporting
- - - - - -报告的自动并行化为
循环
真正的
(默认)|假
报告的自动并行化为
循环,在这个表指定为一个值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果你设置 |
假 |
代码生成器不能产生自动并行化的代码生成报告为 循环。 |
EnableImplictExpansion
- - - - - -隐式扩张能力生成的代码
真正的
(默认)|假
隐式扩张能力在生成的代码中,指定表中列出的值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器允许隐式扩张在生成的代码中。代码生成器包括在生成的代码修改应用隐式扩张。看到兼容数组大小的基本操作。 |
假 |
生成的代码不遵守规则的隐式扩张。 |
数据类型:逻辑
EnableMemcpy
- - - - - -memcpy
优化
真正的
(默认)|假
memcpy
优化,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果可能的话,代码生成器使用 |
假 |
不使用代码生成器 |
使用GPU编码器时,代码生成器总是禁用Memcpy
优化。
EnableOpenMP
- - - - - -并行化的parfor
循环
真正的
(默认)|假
并行化的parfor
循环,在这个表指定为一个值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果可能的话,代码生成器使用OpenMP库生产循环迭代并行地运行。 |
假 |
代码生成器处理 |
看到parfor
。
使用OpenMP图书馆与即时(JIT)编译不兼容。如果EnableJIT
和EnableOpenMP
是真正的
,代码生成器使用JIT编译和治疗parfor
循环,为
循环。
使用GPU编码器时,代码生成器总是对待parfor
循环,为
循环。
EnableRuntimeRecursion
- - - - - -运行时支持递归金宝app
真正的
(默认)|假
运行时递归的支持,在这个表指定为一个值金宝app。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 递归函数都可以在生成的代码中。 |
假 |
递归函数是不允许在生成的代码。 |
一些编码标准,如MISRA®,不允许递归。增加的可能性符合MISRA - C生成代码®,设置EnableRuntimeRecursion
来假
。
如果你需要运行时递归和MATLAB代码EnableRuntimeRecursion
是假
,代码生成失败。
看到递归函数的代码生成。
EnableVariableSizing
- - - - - -适应可变数组支持金宝app
真正的
(默认)|假
适应可变数组的支持,在这个表指定为一个值金宝app。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 适应可变数组允许代码生成。 |
假 |
适应可变数组不允许代码生成。 |
依赖:
使
动态内存分配
。
看到为适应可变数组生成代码。
FilePartitionMethod
- - - - - -文件分区模式
“MapMFileToCFile”
(默认)|“SingleFile”
文件分区模式指定为这个表中的值之一。
价值 | 描述 |
---|---|
“MapMFileToCFile” |
这个值是默认值。 代码生成器生成单独的C / c++文件为每个MATLAB语言文件。 |
“SingleFile” |
代码生成器产生单个文件的C / c++函数映射到你的MATLAB函数入口点。代码生成器生成单独的C / c++文件的实用函数。 |
GenCodeOnly
- - - - - -代的源代码
假
(默认)|真正的
代的源代码,在这个表指定为一个值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器生成C / c++源代码和构建对象代码。 |
真正的 |
代码生成器生成C / c++源代码,但不调用make命令或构建对象代码。当你修改MATLAB代码之间的迭代生成C / c++代码,生成唯一的代码可以节省时间。 |
GenerateComments
- - - - - -在生成的代码注释
真正的
(默认)|假
评论在生成的代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器的地方评论在生成的代码中。 |
假 |
代码生成器不评论在生成的代码中。 |
GenerateExampleMain
- - - - - -C / c++主要文件示例
“GenerateCodeOnly”
(默认)|“DoNotGenerate”
|“GenerateCodeAndCompile”
示例生成C / c++的主要文件,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“GenerateCodeOnly” |
这个值是默认值。 代码生成器生成一个示例C / c++主要功能但不编译它。 |
“DoNotGenerate” |
代码生成器并不生成一个示例C / c++的主要功能。 |
“GenerateCodeAndCompile” |
代码生成器生成一个示例C / c++主要功能并编译它创建一个测试执行。这个可执行不返回输出。 如果 |
主要功能是一个例子一个模板来帮助你编写一个C / c++的主要功能,调用生成的C / c++代码。看到将生成的代码使用一个例子的主要功能。
GenerateMakefile
- - - - - -Makefile代
真正的
(默认)|假
Makefile代在构建过程中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器生成一个makefile在构建过程中。 |
假 |
代码生成器并不在构建过程中生成一个makefile。指定post-code-generation处理指令,包括编译和链接,在一个post-code-generation命令。看到构建流程定制。 |
GenerateNonFiniteFilesIfUsed
- - - - - -为非限定的数据只有金宝app在非限定的数据生成支持文件
真正的
(默认)|假
一代的非限定的数据支持文件,金宝app指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 支持文件的代码生成器产生的非限定的数据(金宝app |
假 |
代码生成器产生非限定的数据的支持文件(金宝app |
依赖:
设置
金宝appSupportNonFinite
来真正的
支持这个参数。
GenerateReport
- - - - - -代码生成报告
假
(默认)|真正的
代码生成报告,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器生成一个报告只有在发生错误或警告消息,或者如果你设置 |
真正的 |
代码生成器生成的代码生成报告。 |
硬件
- - - - - -对象,该对象指定一个硬件板
coder.Hardware
对象
对象,该对象指定一个硬件板。创建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.Hardware
和cfg.HardwareImplementation.ProdHWDeviceType
与他们的默认值。
HardwareImplementation
- - - - - -硬件实现对象
coder.HardwareImplementation
对象。
硬件实现对象指定特定于硬件的配置参数C / c++代码生成。coder.config
创建一个coder.CodeConfig
对象的HardwareImplementation
属性设置为一个coder.HardwareImplementation
对象与MATLAB主机默认参数值。
HeaderGuardStyle
- - - - - -在生成的代码风格的预处理器指令
“UseIncludeGuard”
(默认)|“UsePragmaOnce”
为了防止由于多个包含头文件,编译错误代码生成器产生#如果未定义
或# pragma一旦
在生成的头文件结构。如果您的项目使用不同的文件使用相同的预处理器宏,然后生成代码# pragma一旦
构造。的编译行为# pragma一旦
不是标准化的。
指定HeaderGuardStyle
在这个表的值。
价值 | 描述 |
---|---|
UseIncludeGuard |
代码生成器生成 |
UsePragmaOnce |
代码生成器生成# pragma一旦 风格# include 警卫。 |
HighlightPotentialRowMajorIssues
- - - - - -潜在的行布局问题
真正的
(默认)|假
显示潜在的行布局效率问题,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
代码生成的报告上显示了潜在的效率问题,由于行布局。(该值是默认值)。 |
假 |
代码生成报告并没有显示阵列布局有关的问题。 |
看到代码行阵列布局设计。
InitFltsAndDblsToZero
- - - - - -转让和双零memset浮动
真正的
(默认)|假
转让和双零浮动memset
,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果可能的话,代码生成器使用 |
假 |
不使用代码生成器 |
InlineBetweenMathWorksFunctions
- - - - - -控制MathWorks间内联函数
“速度”
(默认)|“总是”
|“可读性”
|“永远”
内联行为调用地点MathWorks调用另一个MathWorks函数,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“速度” |
这个值是默认值。 使用内部启发式来决定是否执行内联调用站点。这个设置通常会导致高度优化的代码。 |
“总是” |
总是表现内联调用站点上。 |
“可读性” |
几乎从不内联函数调用,除了要求非常小的功能。保留了模块化的代码不牺牲太多的速度,只要有可能。结果在高度可读的代码。 |
“永远” |
内联函数调用。导致最大的可读性。这个设置可以显著减少生成的代码的性能。 |
即使你选择“总是”
或者是“永远”
选择设置,在某些情况下,代码生成器可能不严格遵循指令。例如,如果有一个冲突,coder.inline(总是)
或coder.inline(“不”)
指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用。
InlineBetweenUserAndMathWorksFunctions
- - - - - -控制用户间内联函数和MathWorks函数
“速度”
(默认)|“总是”
|“可读性”
|“永远”
内联行为调用站点,你写一个函数,调用一个MathWorks函数,或者MathWorks函数调用一个函数,你写道。这个表中指定的值。
价值 | 描述 |
---|---|
“速度” |
这个值是默认值。 使用内部启发式来决定是否执行内联调用站点。这个设置通常会导致高度优化的代码。 |
“总是” |
总是表现内联调用站点上。 |
“可读性” |
几乎从不内联函数调用,除了要求非常小的功能。保留了模块化的代码不牺牲太多的速度,只要有可能。结果在高度可读的代码。 |
“永远” |
内联函数调用。导致最大的可读性。这个设置可以显著减少生成的代码的性能。 |
即使你选择“总是”
或者是“永远”
选择设置,在某些情况下,代码生成器可能不严格遵循指令。例如,如果有一个冲突,coder.inline(总是)
或coder.inline(“不”)
指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用。
InlineBetweenUserFunctions
- - - - - -控制用户间内联函数
“速度”
(默认)|“总是”
|“可读性”
|“永远”
内联行为调用站点,你写一个函数,调用另一个函数,你写道,在这个表指定为一个值。
价值 | 描述 |
---|---|
“速度” |
这个值是默认值。 使用内部启发式来决定是否执行内联调用站点。这个设置通常会导致高度优化的代码。 |
“总是” |
总是表现内联调用站点上。 |
“可读性” |
几乎从不内联函数调用,除了要求非常小的功能。保留了模块化的代码不牺牲太多的速度,只要有可能。结果在高度可读的代码。 |
“永远” |
内联函数调用。导致最大的可读性。这个设置可以显著减少生成的代码的性能。 |
即使你选择“总是”
或者是“永远”
选择设置,在某些情况下,代码生成器可能不严格遵循指令。例如,如果有一个冲突,coder.inline(总是)
或coder.inline(“不”)
指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用。
InstructionSetExtensions
- - - - - -目标硬件的SIMD指令集
“没有”
(默认)|上交所的
|“SSE2”
|“SSE4.1”
|“AVX”
|“AVX2”
|菲利普-马萨的
|“AVX512F”
指令集生成单指令多数据(SIMD)目标硬件的代码。这个列表显示了指令集的依赖,其中每个指令集取决于之前的指令集。代码生成器加载选中的指令集,这取决于的指令集。例如,如果您选择AVX
,代码生成器负载AVX
,SSE4.1
,SSE2
,上交所
。
使用GPU编码器时,代码生成器总是禁用InstructionSetExtensions
。
LaunchReport
- - - - - -自动代码生成报告的开放
假
(默认)|真正的
指定的代码生成报告,自动打开这个表中的值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 如果发生错误或警告,或者 |
真正的 |
代码生成器产生并打开一个代码生成报告。 |
LoopUnrollThreshold
- - - - - -阈值迭代的数量来决定是否自动展开为
循环或parfor
循环
5(默认)|正整数
循环比这更少的迭代阈值由代码生成器的候选人自动展开。这个阈值适用于所有为
循环和parfor
在MATLAB代码循环。对一个人为
循环,coder.unroll
指令立即放置在循环优先于循环展开优化。阈值也可以适用于一些为
循环过程中产生代码生成。
MATLABSourceComments
- - - - - -包含注释的MATLAB源代码生成的代码
假
(默认)|真正的
包含注释的MATLAB源代码生成的代码,在这个表指定为一个值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器不插入评论的MATLAB源代码生成的代码。代码生成器函数中不包括MATLAB函数签名横幅。 |
真正的 |
代码生成器插入MATLAB源代码生成的代码的注释。立即可追溯性标记之前的每一行源代码。可追溯性标记能帮助你找到相应的MATLAB源代码。看到跟踪生成的C / c++代码的MATLAB源代码。 如果你有嵌入式编码,代码生成报告,可追溯性标记源代码的链接。 代码生成器还包括MATLAB函数签名的横幅。 |
依赖:
GenerateComments
支持这个参数。
MaxIdLength
- - - - - -最大字符数生成的标识符
31日
|1024年
|正整数
最大字符数生成的标识符,指定为一个正整数的范围[31,2048]。这个属性适用于生成函数,类型定义,变量名。避免截断目标标识符的C / c++编译器,指定一个值匹配目标的最大标识符长度C / c++编译器。
这个属性并不适用于出口标识符,如为入口点函数生成的名称或emxArray API函数。如果一个出口标识符的长度超过了最大标识符长度的目标C编译器,目标C / c++编译器截断导出的标识符。
默认值:
如果
TargetLang
被设置为“C”
的默认值MaxIdLength
是31日
。如果
TargetLang
被设置为“c++”
的默认值MaxIdLength
是1024年
。
MultiInstanceCode
- - - - - -多实例,可重入代码
假
(默认)|真正的
多实例,可重入的代码,在这个表指定为一个值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器不能产生多实例、可重入的代码。 |
真正的 |
代码生成器产生可重用,多实例的代码是可重入的。 |
看到可重入代码。
这个选项不支持GPU编码器产品。金宝app
的名字
- - - - - -对象名称
“CodeConfig”
(默认)|特征向量
对象名称、指定为一个特征向量。
NumberOfCpuThreads
- - - - - -最大数量的CPU运行线程并行的for循环
0(默认)|正整数
最大数量的CPU线程并行运行为
循环在生成的C / c++代码中,指定为一个正整数。
OptimizeReductions
- - - - - -为减少生成SIMD代码操作| for循环并行化执行还原操作
“假”
(默认)|“真正的”
是否生成SIMD代码还原操作,比如产品和和功能。使用这个参数时,您必须选择一个指令集InstructionSetExtensions
参数。代码生成器使用指定的指令集生成SIMD减少操作的代码。
并行化为
循环执行还原操作,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器并不会自动并行化 |
真正的 |
代码生成器自动截然不同 |
看到并行化循环执行还原操作。
OutputType
- - - - - -输出构建生成的C / c++代码
“自由”
|“DLL”
|EXE”
输出构建生成的C / c++代码,在这个表指定为一个值。
价值 | 描述 |
---|---|
“自由” |
静态库 |
“DLL” |
动态链接库 |
EXE” |
可执行程序 |
PassStructByReference
- - - - - -通过引用传递结构
真正的
(默认)|假
通过结构参照入口点函数,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 生成的代码通过引用传递结构,这样可以减少内存使用和执行时间通过最小化副本入口点函数的参数的数量界限。 请注意 一个入口点函数写入一个字段的结构参数覆盖输入值。 |
假 |
生成的代码按值传递结构。 |
这个参数只适用于入口点函数。
PostCodeGenCommand
- - - - - -命令来构建定制加工
”
(默认)|特征向量
墨西哥人后命令自定义构建处理函数生成codegen
,指定为一个特征向量。
看到构建流程定制。
PreserveArrayDimensions
- - - - - -n维索引
假
(默认)|真正的
PreserveVariableNames
- - - - - -变量名称保留在生成的代码
“没有”
(默认)|“用户名”
|“所有”
变量名称保留在生成的代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“没有” |
这个值是默认值。 代码生成器没有保存任何变量的名字。它可以重用任何变量,变量满足要求重用。 如果你的代码使用大型结构或数组,设置 |
“用户名” |
代码生成器保留名称对应MATLAB代码中定义的变量。它没有你的变量名替换为另一个名字,不使用你的名字为另一个变量。为了提高可读性,集 设置 |
“所有” |
保留所有变量名。这个参数值禁用变量重用。它只用于测试或调试,生产代码。 |
看到在生成的代码保存变量名。
ReportInfoVarName
- - - - - -包含代码生成报告信息的变量的名称
”
(默认)|特征向量
名字的变量导出代码生成的信息,指定为一个特征向量。代码生成器基MATLAB的工作区中创建这个变量。该变量包含代码生成的信息设置,输入文件,生成的文件,和代码生成的消息。
ReportPotentialDifferences
- - - - - -潜在的差异报告
真正的
(默认)|假
潜在的差异报告,指定为这个表中的值之一:
价值 | 描述 |
---|---|
真正的 |
代码生成器生成的代码报告潜在的行为差异和MATLAB代码。潜在的差异在选项卡列出代码生成报告。潜在的区别是不同的,发生在运行时只在特定条件下。 |
假 |
代码生成器不报告潜在的差异。 |
看到潜在的差异报告。
ReservedNameArray
- - - - - -代码生成器的名称不得使用的函数或变量
”
(默认)|字符串数组|单元阵列的特征向量|特征向量
名称列表的代码生成器不得使用函数或变量指定为一个字符串数组,单元阵列的特征向量,或字符向量。
保留多个名称,指定为这个表中的值之一。
价值 | 描述 |
---|---|
字符串数组 | 一个字符串数组 |
单元阵列的特征向量 | 一个细胞阵列的特征向量 |
特征向量 | 一个用于保留名称的列表 请注意 在代码中指定多个条目配置对象通过使用特征向量将在未来的版本中被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑。 |
RowMajor
- - - - - -行存储阵列布局
假
(默认)|真正的
RunInitializeFcn
- - - - - -自动运行初始化函数
真正的(默认)|假
代初调用初始化函数生成的入口点函数,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 调用初始化函数包含在生成的入口点函数的开始。生成的代码包括检查以确保初始化函数被调用一次,即使有多个入口点函数。 |
假 |
生成的入口点函数不包括调用初始化函数。 |
依赖:
设置
MultiInstanceCode
来真正的
禁用这个参数。
RuntimeChecks
- - - - - -运行时错误检测和报告生成的代码
假
(默认)|真正的
运行时错误检测和报告在生成的代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 生成的代码不检查错误,如禁止入内的索引数组。 |
真正的 |
生成的代码检查错误,例如禁止入内的索引数组。 错误报告的软件使用 错误消息都是英文的。 |
SaturateOnIntegerOverflow
- - - - - -整数溢出的支持金宝app
真正的
(默认)|假
整数溢出的支持,在这个表指定为一个金宝app值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器生成的代码来处理整数溢出。溢出的最小值或最大值,数据类型可以表示。 |
假 |
代码生成器不能产生代码来处理整数溢出。不设置 |
这个参数只适用于MATLAB内置整数类型。它并不适用于双打、单身或定点数据类型。
StackUsageMax
- - - - - -最大堆栈使用每个应用程序
200000年
(默认)|正整数
最大堆栈使用每个应用程序,以字节为单位,指定为一个正整数。设定一个限制,低于可用的堆栈大小。否则,可能发生运行时堆栈溢出。C编译器检测和报告堆栈溢出。
金宝appSupportNonFinite
- - - - - -金宝app支持非限定的值
真正的
(默认)|假
金宝app支持非限定的值,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果 如果 |
假 |
代码生成器不能产生代码来支持非限定的值。金宝app |
TargetLang
- - - - - -语言在生成的代码中使用
“C”
(默认)|“c++”
语言生成的代码中使用,指定为“C”
或“c++”
。如果指定c++代码生成器将C代码到. cpp文件中,这样您就可以使用一个c++编译器和接口与外部c++应用程序。它不生成c++类。
使用GPU编码器时,代码生成器TargetLang
来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++库或可执行程序,指定为一个特征向量。可用工具链的列表取决于主机平台,并且可以包括您所添加的自定义工具链。如果你不指定工具链,代码生成器将定位安装工具链。
注意:
假设您创建一个
coder.CodeConfig
对象cfg
在MATLAB会话并使用它在另一个MATLAB会话。如果第二个会话的MATLAB主机没有中指定的工具链cfg.Toolchain
财产上安装它,这个参数恢复为默认值。默认值是“自动定位一个安装工具链”
。
详细的
- - - - - -代码生成进度显示(删除)
假(默认)|l真正的
代码生成进度显示,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器不显示代码生成的进步。 |
真正的 |
代码生成器显示代码生成的进展,包括代码生成阶段和编译器输出。 |
冗长
- - - - - -代码生成进度显示
“信息”
(默认)|“沉默”
|“详细”
是否显示状态的代码生成的进步在MATLAB命令行,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“沉默” |
如果代码生成成功没有警告,所有消息受到抑制,包括当你生成一个报告。 显示警告和错误消息。 |
“信息” |
这个值是默认值。 相比
|
“详细” |
除了所示的消息 |
例子
指定配置参数生成独立的代码
编写一个MATLAB函数可以生成代码。下面的例子使用了函数myadd
返回输入的总和。
函数c = myadd (a, b) c = a + b;结束
创建一个配置对象生成独立的C / c++代码(一个静态库,动态链接库,或一个可执行程序)。例如,创建一个配置对象生成一个静态的图书馆。
cfg = coder.config (“自由”);
改变的值属性,您不想使用默认值。例如,使运行时错误检测和报告生成的C / c++代码。
cfg。RuntimeChecks = true;
通过使用生成代码codegen
。通过配置对象codegen
通过使用配置
选择。指定输入参数是标量的两倍。
codegenmyadd配置cfgarg游戏{1}报告
选择功能
使用默认配置参数构建类型“自由”
,“DLL”
,或EXE”
,可以使用codegen
选项配置:自由
,配置:dll
,或配置:exe
,分别。然后,您不需要创建并通过一个配置对象codegen
。
版本历史
介绍了R2011aR2022a:DynamicMemoryAllocation
财产被删除
不推荐在R2022a开始
在将来的版本DynamicMemoryAllocation
财产将被删除。
为适应可变数组动态分配的内存,使用配置参数DynamicMemoryAllocationForVariableSizeArrays
。
不要使用DynamicMemoryAllocation
和DynamicMemoryAllocationForVariableSizeArrays
一起在代码生成。
R2021a:能力在代码中指定多个条目配置对象通过使用特征向量将被删除
在未来的发布行为改变
在未来的版本中,指定多个文件名称,路径,或保留名称代码中配置对象通过使用特征向量或标量字符串分隔符将被删除。使用字符串数组的单元阵列特征向量。例如,包括多个文件夹名称,您可以使用一个字符串数组CustomInclude
作为cfg。CustomInclude = [“C: \工程”,“C: \自定义文件”);
或单元阵列的特征向量cfg。CustomInclude = {“C: \项目”,“C: \自定义文件”};
包括编译生成的代码的路径。
R2021a:详细的
财产被删除
在未来的发布行为改变
在将来的版本详细的
财产将被删除。
配置代码生成进度显示,使用冗长
财产。
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。