coder.MexCodeConfig
墨西哥人的配置参数函数生成MATLAB代码
描述
一个coder.MexCodeConfig
对象包含的配置参数codegen
使用时生成一个墨西哥人的功能。通过对象的codegen
函数使用配置
选择。
创建
创建一个coder.MexCodeConfig
通过使用对象coder.config
函数。
一旦你创建一个coder.MexCodeConfig
对象,您可以在命令行或修改其属性以编程方式交互地使用配置参数对话框。看到在命令行指定配置参数工作流交互。
属性
CacheDynamicArrayDataPointer
- - - - - -动态数组优化
真正的
(默认)|假
CodeFormattingTool
- - - - - -生成的代码格式化工具
“汽车”
(默认)|“Clang-format”
|“MathWorks”
代码生成的代码的格式化选项,表中指定的值。
价值 | 描述 |
---|---|
“Clang-format” |
代码生成器生成的代码格式显示 |
“汽车” |
使用一个内部启发式来确定生成的代码格式化 确定生成的代码被格式化了 |
“MathWorks” |
原因代码生成器回到MathWorks格式化工具。 |
CompileTimeRecursionLimit
- - - - - -最大数量的功能专门化编译时递归
50(默认)|正整数
最大数量的专门化的编译时递归函数,指定为一个正整数。在MATLAB不允许递归®代码,设置CompileTimeRecursionLimit
为0。默认编译时递归限制是大到足以让最需要这种类型的递归的递归函数。如果代码生成失败,因为编译时递归限制,和你想要编译时递归,试图增加的极限。另外,改变你的MATLAB代码,代码生成器使用运行时递归。看到编译时递归限制达到。
ConstantFoldingTimeout
- - - - - -最大数量的指令执行的常数文件夹
40000年(默认)|正整数
最大数量的恒定文件夹执行的指令。在某些情况下,代码生成需要特定的指令是常数。如果constant-folded常数合并之前停止这些指令,代码生成失败。在这种情况下,增加的价值ConstantFoldingTimeout
。
ConstantInputs
- - - - - -常数输入检查模式
“CheckValues”
(默认)|“IgnoreValues”
|“删除”
常数输入检查模式,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“CheckValues” |
这个值是默认值。 墨西哥人的函数调用时,它检查您提供一个恒定的输入参数的值是在代码生成时指定的值。 你可以叫墨西哥人函数和原始的MATLAB函数相同的参数。因此,您可以使用相同的功能的测试文件。 检查值可以减缓墨西哥人的执行功能。 |
“IgnoreValues” |
当你叫墨西哥人功能,它忽略了价值,你提供一个恒定的输入参数。它使用在代码生成时指定的值。 您可以使用相同的测试文件没有检查的开销常数参数值。 |
“删除” |
代码生成器将常数从墨西哥人输入参数的函数签名。当你叫墨西哥人功能,你不是一个常数输入参数提供一个值。 此选项提供向后兼容性。 |
CppGenerateEnumClass
- - - - - -为MATLAB生成c++ 11枚举类枚举
真正的
(默认)|假
生成c++代码11是否包含枚举类或普通C枚举指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器生成枚举类的MATLAB枚举生成c++代码11。看到为枚举代码生成。 |
假 |
代码生成器产生普通C枚举的MATLAB枚举生成c++代码11。 |
依赖:
设置
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++”
支持这个参数。
数据类型:逻辑
CustomHeaderCode
- - - - - -自定义代码,出现在生成的C / c++头文件
' '(默认)|特征向量
定制代码出现顶部附近的每一个C / c++头文件从MATLAB代码生成的,除了rtwtypes.h
和rtwhalf.h
,指定为一个特征向量。
CustomInclude
- - - - - -包括文件夹添加到包括编译生成的代码路径
' '(默认)|字符串数组|单元阵列的特征向量|特征向量
包括文件夹添加到包括当编译生成的代码路径。指定包括文件夹的列表作为一个字符串数组,单元阵列特征向量,特征向量。
多个文件夹名称,指定为这个表中的值之一。
价值 | 描述 |
---|---|
字符串数组 | 一个字符串数组 |
单元阵列的特征向量 | 一个细胞阵列的特征向量 |
特征向量 | 单独由一个包括文件夹 请注意 在代码中指定多个条目配置对象通过使用特征向量生成警告,在将来的版本将被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑。 |
CustomInitializer
- - - - - -自定义代码包括在生成的初始化函数
' '(默认)|特征向量
自定义代码包括在生成的初始化函数,指定为一个特征向量。
CustomLibrary
- - - - - -静态库文件和生成的代码链接
' '(默认)|字符串数组|单元阵列的特征向量|特征向量
静态库文件和生成的代码链接,指定为一个字符串数组,单元阵列特征向量,特征向量。
多个静态库文件名称,指定为这个表中的值之一。
价值 | 描述 |
---|---|
字符串数组 | 一个字符串数组 |
单元阵列的特征向量 | 一个细胞阵列的特征向量 |
特征向量 | 由一个单独的静态库文件的名字 请注意 在代码中指定多个条目配置对象通过使用特征向量生成警告,在将来的版本将被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑。 |
CustomSource
- - - - - -源文件和生成的代码编译和链接
' '(默认)|字符串数组|单元阵列的特征向量|特征向量
源文件和生成的代码编译和链接,指定为一个字符串数组,单元阵列特征向量,特征向量。
首先构建过程搜索源文件在当前文件夹,然后在您指定的包括文件夹CustomInclude
。如果源文件名称相同的发生在多个文件夹搜索路径,构建过程可能使用一个不同的文件比指定的文件。
假设您指定foo.cpp
作为一个源文件。如果foo.c
和foo.cpp
都是在搜索路径,你不能确定是否构建过程使用吗foo.c
或foo.cpp
。
多个源文件名称,指定为这个表中的值之一。
价值 | 描述 |
---|---|
字符串数组 | 一个字符串数组 |
单元阵列的特征向量 | 一个细胞阵列的特征向量 |
特征向量 | 由一个单独的源文件的名字 请注意 在代码中指定多个条目配置对象通过使用特征向量生成警告,在将来的版本将被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑。 |
CustomSourceCode
- - - - - -代码生成的顶部附近。c
或. cpp
文件
' '(默认)|特征向量
指定每个生成的代码出现顶部附近。c
或. cpp
文件(除了rtwhalf.c
或rtwhalf.cpp
)以外的任何函数。指定代码作为一个特征向量。
没有指定一个C静态函数定义。
CustomTerminator
- - - - - -出现在终止函数所生成的代码
' '(默认)|特征向量
出现在终止函数所生成的代码,指定为一个特征向量。
DeepLearningConfig
- - - - - -深度学习代码生成的配置对象
coder.MklDNNConfig
对象|coder.CuDNNConfig
对象|coder.TensorRTConfig
对象
配置对象的代码生成深度学习网络,指定为在这个表中指定为一个对象。
对象 | 需要 | 描述 |
---|---|---|
coder.MklDNNConfig |
|
一个 cfg = coder.config (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“mkldnn”); |
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编码器)。 |
请注意
墨西哥人不支持代码生成的深度学习使用的手臂万博1manbetx®计算库。
依赖:如果DeepLearningConfig
是集,codegen
集TargetLang
来c++
。
DynamicMemoryAllocation
- - - - - -动态内存分配模式
“阈值”
(默认)|“AllVariableSizeArrays”
|“关闭”
动态内存分配模式,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“阈值” |
这个值是默认值。 代码生成器上动态分配内存堆适应可变数组的大小(以字节为单位)大于或等于 |
“AllVariableSizeArrays” |
代码生成器动态所有适应可变数组在堆上分配内存。 |
“关闭” |
静态代码生成器为适应可变数组分配内存的堆栈。 |
无界适应可变数组需要动态内存分配。
依赖关系:
EnableVariableSizing
支持这个参数。设置这个
DynamicMemoryAllocation
来“阈值”
使DynamicMemoryAllocationThreshold
参数。
看到为适应可变数据生成代码。
请注意
DynamicMemoryAllocation
配置选项将在未来的版本中被删除。动态地分配内存大小可变的数组,使用EnableDynamicMemoryAllocation
选择。要设置阈值,可以使用DynamicMemoryAllocationThreshold
选择。
DynamicMemoryAllocationForFixedSizeArrays
- - - - - -动态内存分配固定大小的数组
假
(默认)|真正的
动态内存分配固定大小的数组,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
代码生成器堆上动态分配内存的固定大小的数组大小(以字节为单位)大于或等于 |
假 |
这个值是默认值。 静态代码生成器为固定大小的数组在堆栈上分配内存。 |
依赖:
设置
EnableDynamicMemoryAllocation
来真正的
启用这个选项。
看到的,控制动态内存分配固定大小的数组。
DynamicMemoryAllocationInterface
- - - - - -动态分配的数组生成的函数接口
“汽车”
(默认)|“C”
|“c++”
实现界面的动态分配的数组生成的C / c++函数,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“汽车” |
这是默认值。如果你设置 |
“C” |
生成的代码使用C风格 |
“c++” |
如果你设置 生成的代码使用 |
使用GPU编码器时,代码生成器总是使用C风格emxArray
数据结构。
依赖:
EnableVariableSizing
支持这个参数。
DynamicMemoryAllocationThreshold
- - - - - -阈值的动态内存分配适应可变数组大小
65536年
(默认)|正整数
大小阈值的动态内存分配固定大小和适应可变数组,指定为一个正整数。代码生成器使用动态内存分配固定大小和适应可变数组的大小(以字节为单位)大于或等于阈值。
依赖:
设置
DynamicMemoryAllocation
来“阈值”
支持这个参数。
看到为适应可变数据生成代码。
EnableAutoParallelization
- - - - - -自动并行化为
循环
假
(默认)|真正的
自动并行化为
循环,在这个表指定为一个值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器并不会自动并行化 |
真正的 |
代码生成器自动截然不同 |
使用GPU编码器时,代码生成器总是让自动并行为
循环。
数据类型:逻辑
EnableAutoParallelizationReporting
- - - - - -报告的自动并行化为
循环
真正的
(默认)|假
报告的自动并行化为
循环,在这个表指定为一个值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果你设置 |
假 |
代码生成器不能产生自动并行化的代码生成报告为 循环。 |
EchoExpressions
- - - - - -表达呼应
真正的
(默认)|假
表达式呼应,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 墨西哥人函数显示的输出语句,不以分号结束。 |
假 |
墨西哥人功能不显示的输出语句,不以分号结束。 |
这个属性并不适用于常见的可视化功能,如disp
,情节
,或图
当他们被称为作为一个外部函数。墨西哥人函数显示的输出函数无论分号或者的价值的存在EchoExpressions
。
EnableAutoExtrinsicCalls
- - - - - -自动非本征函数调用
真正的
(默认)|假
非本征函数调用,自动指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器将一些常见的可视化功能视为外在功能。你不需要将这些函数声明为外部使用 |
假 |
代码生成器不治疗常见可视化函数作为外在功能,除非你宣布他们为外部使用coder.extrinsic 。 |
一些常见的可视化功能情节
,disp
,图
。看到使用MATLAB引擎来执行一个函数调用生成的代码。
EnableDebugging
- - - - - -C编译器的调试模式
假
(默认)|真正的
C编译器调试模式,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器并不使C编译器调试模式。 |
真正的 |
代码生成器允许C编译器调试模式。当启用调试模式时,C编译器不优化代码。编译速度更快,但执行慢。 |
EnableDynamicMemoryAllocation
- - - - - -为适应启用动态内存分配数组
真正的
(默认)|假
为适应可变数组动态内存分配,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器上动态分配内存堆适应可变数组的大小(以字节为单位)大于或等于 |
假 |
静态代码生成器为适应可变数组分配内存的堆栈。 |
EnableImplicitExpansion
- - - - - -隐式扩张能力生成的代码
真正的
(默认)|假
隐式扩张能力在生成的代码中,指定表中列出的值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器允许隐式扩张在生成的代码中。代码生成器包括在生成的代码修改应用隐式扩张。看到兼容数组大小的基本操作。 |
假 |
生成的代码不遵守规则的隐式扩张。 |
数据类型:逻辑
EnableJIT
- - - - - -即时(JIT)编译模式
假
(默认)|真正的
即时(JIT)编译模式,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器创建一个C / c++墨西哥人函数通过生成和编译C / c++代码。 |
真正的 |
代码生成器使用即时(JIT)编译技术对于墨西哥人函数生成。代码生成器创建一个JIT墨西哥人MATLAB的函数,其中包含一个抽象表示的代码。当您运行JIT墨西哥人功能,MATLAB生成可执行代码在内存中。 |
加快代墨西哥人功能,集EnableJIT
来真正的
。
JIT编译与某些不兼容的代码生成功能和选项,如自定义代码或使用图书馆OpenMP。如果你指定JIT编译代码生成器无法使用它,它会生成一个C / c++墨西哥人函数与一个警告。如果EnableJIT
和EnableOpenMP
是真正的
,你的代码使用parfor
,代码生成器使用JIT编译和治疗parfor
循环,为
循环。
EnableMemcpy
- - - - - -memcpy
优化
真正的
(默认)|假
memcpy
优化,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果可能的话,代码生成器使用 |
假 |
不使用代码生成器 |
使用GPU编码器时,代码生成器总是禁用Memcpy
优化。
EnableMexProfiling
- - - - - -为分析仪器
假
(默认)|真正的
使生成的墨西哥人的分析功能,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器并不包括分析的仪器生成的墨西哥人的功能。 |
真正的 |
代码生成器生成包括仪器分析的墨西哥人的功能。然后,您可以使用MATLAB分析器配置墨西哥人。看到通过使用MATLAB分析器概要墨西哥人功能。 |
EnableOpenMP
- - - - - -并行化的parfor
循环
真正的
(默认)|假
并行化的parfor
循环,在这个表指定为一个值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果可能的话,代码生成器使用OpenMP库生产循环迭代并行地运行。 |
假 |
代码生成器处理 |
看到parfor
。
使用OpenMP图书馆与即时(JIT)编译不兼容。如果EnableJIT
和EnableOpenMP
是真正的
,代码生成器使用JIT编译和治疗parfor
循环,为
循环。
使用GPU编码器时,代码生成器总是对待parfor
循环,为
循环。
EnableRuntimeRecursion
- - - - - -运行时支持递归万博1manbetx
真正的
(默认)|假
运行时递归的支持,在这个表指定为一个值万博1manbetx。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 递归函数都可以在生成的代码中。 |
假 |
递归函数是不允许在生成的代码。 |
一些编码标准,如MISRA™,不允许递归。增加的可能性符合MISRA - C™生成代码,设置EnableRuntimeRecursion
来假
。
如果你需要运行时递归和MATLAB代码EnableRuntimeRecursion
是假
,代码生成失败。
看到递归函数的代码生成。
EnableVariableSizing
- - - - - -适应可变数组支持万博1manbetx
真正的
(默认)|假
适应可变数组的支持,在这个表指定为一个值万博1manbetx。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 适应可变数组允许代码生成。 |
假 |
适应可变数组不允许代码生成。 |
依赖:
使
动态内存分配
。
看到为适应可变数组生成代码。
ExtrinsicCalls
- - - - - -非本征函数调用的支持万博1manbetx
真正的
(默认)|假
非本征函数调用的支持,在这个表指定为一个值。万博1manbetx
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 对于一个外部函数,代码生成器生成调用MATLAB函数。代码生成器并不生成函数的内部代码。 |
假 |
代码生成器忽略了一个外部函数。它不生成代码的调用MATLAB函数。如果外在影响MATLAB函数的输出函数,代码生成器发出警告。 如果你设置 |
的价值ExtrinsicCalls
影响一个墨西哥人函数为兰德生成随机数,
兰迪
,randn
。如果ExtrinsicCalls
是真正的
,墨西哥人全球随机数流函数使用MATLAB生成随机数。否则,墨西哥人函数使用一个独立的随机数发生器。
FilePartitionMethod
- - - - - -文件分区模式
“MapMFileToCFile”
(默认)|“SingleFile”
文件分区模式指定为这个表中的值之一。
价值 | 描述 |
---|---|
“MapMFileToCFile” |
这个值是默认值。 代码生成器生成单独的C / c++文件为每个MATLAB语言文件。 |
“SingleFile” |
代码生成器产生单个文件的C / c++函数映射到你的MATLAB函数入口点。代码生成器生成单独的C / c++文件的实用函数。 |
GenCodeOnly
- - - - - -代的源代码
假
(默认)|真正的
代的源代码,在这个表指定为一个值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器生成C / c++源代码和构建对象代码。 |
真正的 |
代码生成器生成C / c++源代码,但不调用make命令或构建对象代码。当你修改MATLAB代码之间的迭代生成C / c++代码,生成唯一的代码可以节省时间。 |
GenerateComments
- - - - - -在生成的代码注释
真正的
(默认)|假
评论在生成的代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器的地方评论在生成的代码中。 |
假 |
代码生成器不评论在生成的代码中。 |
GenerateReport
- - - - - -代码生成报告
假
(默认)|真正的
代码生成报告,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器生成一个报告只有在发生错误或警告消息,或者如果你设置 |
真正的 |
代码生成器生成的代码生成报告。 |
GlobalDataSyncMethod
- - - - - -全球数据同步模式
“SyncAlways”
(默认)|“SyncAtEntryAndExits”
|“NoSync”
全球数据同步模式,指定为这个表中的值之一。
价值 | 描述全局数据 | 描述恒定的全局数据 |
---|---|---|
|
这个值是默认值。 全球数据同步墨西哥人函数入口和出口之间的外在要求最大限度的一致性和MATLAB和生成的墨西哥人功能。最大化性能,如果外部调用不改变全局数据,使用此选项 |
验证一致性在墨西哥人持续的全球数据条目和外在后调用函数。如果全球数据值在MATLAB全球工作区与全球编译时常量值不一致的墨西哥人功能,墨西哥人函数以一个错误。使用 |
|
全球数据同步墨西哥人函数入口和出口。最大化性能,如果只有少数外在要求改变全局数据,使用此选项 |
验证常数在墨西哥人全球数据函数入口。如果全球数据值在MATLAB全球工作区与全球编译时常量值不一致的墨西哥人功能,墨西哥人函数以一个错误。使用 |
|
禁用同步。禁用同步之前,验证您的墨西哥人不与MATLAB函数全局数据。否则,会发生MATLAB和墨西哥人函数之间的不一致性。 |
禁用一致性检查。 |
看到为全局数据生成代码。
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(“不”)
指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用。
IntegrityChecks
- - - - - -内存完整性检查
真正的
(默认)|假
内存完整性检查,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 生成的代码检测内存完整性侵犯并停止执行诊断消息。 |
假 |
生成的代码不违反完整性检测内存。 设置 |
看到控制运行时检查。
LaunchReport
- - - - - -自动代码生成报告的开放
假
(默认)|真正的
指定的代码生成报告,自动打开这个表中的值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 如果发生错误或警告,或者 |
真正的 |
代码生成器产生并打开一个代码生成报告。 |
MATLABSourceComments
- - - - - -包含注释的MATLAB源代码生成的代码
假
(默认)|真正的
包含注释的MATLAB源代码生成的代码,在这个表指定为一个值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器不插入评论的MATLAB源代码生成的代码。代码生成器函数中不包括MATLAB函数签名横幅。 |
真正的 |
代码生成器插入MATLAB源代码生成的代码的注释。立即可追溯性标记之前的每一行源代码。可追溯性标记能帮助你找到相应的MATLAB源代码。看到跟踪生成的C / c++代码的MATLAB源代码。 代码生成器还包括MATLAB函数签名的横幅。 |
依赖:
GenerateComments
支持这个参数。
的名字
- - - - - -对象名称
“MexCodeConfig”
(默认)|特征向量
对象名称、指定为一个特征向量。
NumberOfCpuThreads
- - - - - -最大数量的CPU运行线程并行的for循环
0(默认)|正整数
最大数量的CPU线程并行运行为
循环在生成的C / c++代码中,指定为一个正整数。
PostCodeGenCommand
- - - - - -命令来构建定制加工
”
(默认)|特征向量
墨西哥人后命令自定义构建处理函数生成codegen
,指定为一个特征向量。
看到构建流程定制。
PreserveArrayDimensions
- - - - - -n维索引
假
(默认)|真正的
PreserveVariableNames
- - - - - -变量名称保留在生成的代码
“没有”
(默认)|“用户名”
|“所有”
变量名称保留在生成的代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“没有” |
这个值是默认值。 代码生成器没有保存任何变量的名字。它可以重用任何变量,变量满足要求重用。 如果你的代码使用大型结构或数组,设置 |
“用户名” |
代码生成器保留名称对应MATLAB代码中定义的变量。它没有你的变量名替换为另一个名字,不使用你的名字为另一个变量。为了提高可读性,集 设置 |
“所有” |
保留所有变量名。这个参数值禁用变量重用。它只用于测试或调试,生产代码。 |
看到在生成的代码保存变量名。
ReportInfoVarName
- - - - - -包含代码生成报告信息的变量的名称
”
(默认)|特征向量
名字的变量导出代码生成的信息,指定为一个特征向量。代码生成器基MATLAB的工作区中创建这个变量。该变量包含代码生成的信息设置,输入文件,生成的文件,和代码生成的消息。
ReportPotentialDifferences
- - - - - -潜在的差异报告
真正的
(默认)|假
潜在的差异报告,指定为这个表中的值之一:
价值 | 描述 |
---|---|
真正的 |
代码生成器生成的代码报告潜在的行为差异和MATLAB代码。潜在的差异在选项卡列出代码生成报告。潜在的区别是不同的,发生在运行时只在特定条件下。 |
假 |
代码生成器不报告潜在的差异。 |
看到潜在的差异报告。
ReservedNameArray
- - - - - -名称的代码生成器不能使用函数或变量
”
(默认)|字符串数组|单元阵列的特征向量|特征向量
名称列表的代码生成器不得使用函数或变量指定为一个字符串数组,单元阵列的特征向量,或字符向量。
保留多个名称,指定为这个表中的值之一。
价值 | 描述 |
---|---|
字符串数组 | 一个字符串数组 |
单元阵列的特征向量 | 一个细胞阵列的特征向量 |
特征向量 | 一个用于保留名称的列表 请注意 在代码中指定多个条目配置对象通过使用特征向量将在未来的版本中被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑。 |
ResponsivenessChecks
- - - - - -响应性检查
真正的
(默认)|假
响应性检查,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 您可以使用Ctrl + C停止执行生成的墨西哥人的功能。 |
假 |
结束一场旷日持久的墨西哥人功能,你可能不得不终止MATLAB。 |
使用GPU编码器时,代码生成器总是禁用这个参数。
看到控制运行时检查。
RowMajor
- - - - - -行存储阵列布局
假
(默认)|真正的
SaturateOnIntegerOverflow
- - - - - -整数溢出的支持万博1manbetx
真正的
(默认)|假
整数溢出的支持,在这个表指定为一个万博1manbetx值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器生成的代码来处理整数溢出。溢出的最小值或最大值,数据类型可以表示。 |
假 |
代码生成器不能产生代码来处理整数溢出。不设置 |
这个参数只适用于MATLAB内置整数类型。它并不适用于双打、单身或定点数据类型。
SIMDAcceleration
- - - - - -水平的SIMD intrinsic
“便携式”
(默认)|“全部”
|“没有”
水平的SIMD intrinsic使用加速向量操作。MATLAB编码器检查您的硬件和指定编译器和使用兼容intrinsic到您所指定的水平,根据这个表。
价值 | 指令集 |
---|---|
“全部” |
AVX2 |
“便携式” |
SSE2 |
“没有” |
没有使用指令集。 |
您可以生成SIMD为Intel和AMD平台代码。如果你为一个不同的平台,生成代码的代码不包含SIMD intrinsic。
StackUsageMax
- - - - - -最大堆栈使用每个应用程序
200000年
(默认)|正整数
最大堆栈使用每个应用程序,以字节为单位,指定为一个正整数。设定一个限制,低于可用的堆栈大小。否则,可能发生运行时堆栈溢出。C编译器检测和报告堆栈溢出。
看到控制堆栈空间的使用。
TargetLang
- - - - - -语言在生成的代码中使用
“C”
(默认)|“c++”
语言生成的代码中使用,指定为“C”
或“c++”
。如果指定c++代码生成器将C代码到. cpp文件中,这样您就可以使用一个c++编译器和接口与外部c++应用程序。它不生成c++类。
使用GPU编码器时,代码生成器TargetLang
来c++
。
依赖:如果DeepLearningConfig
是集,codegen
集TargetLang
来c++
。
冗长
- - - - - -代码生成进度显示
“信息”
(默认)|“沉默”
|“详细”
是否显示状态的代码生成的进步在MATLAB命令行,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“沉默” |
如果代码生成成功没有警告,所有消息受到抑制,包括当你生成一个报告。 显示警告和错误消息。 |
“信息” |
这个值是默认值。 相比
|
“详细” |
除了所示的消息 |
例子
为墨西哥人函数生成指定配置参数
编写一个MATLAB函数可以生成代码。下面的例子使用了函数myadd
返回输入的总和。
函数c = myadd (a, b) c = a + b;结束
为墨西哥人创建一个配置对象函数生成。
cfg = coder.config (墨西哥人的);
改变的值属性,您不想使用默认值。例如,使即时(JIT)编译。
cfg。EnableJIT = true;
通过使用生成代码codegen
。通过配置对象codegen
通过使用配置
选择。指定输入参数是标量的两倍。
codegenmyadd配置cfgarg游戏{1}报告
选择功能
墨西哥人使用默认配置参数值函数生成,而不是创建一个配置对象,您可以调用codegen
或不指定一个配置对象配置:墨西哥人
选择。
版本历史
介绍了R2011aR2023a:DynamicMemoryAllocation
财产被删除
在将来的版本DynamicMemoryAllocation
财产将被删除。
为适应可变数组动态分配的内存,使用EnableDynamicMemoryAllocation
财产。配置动态内存分配的阈值,使用DynamicMemoryAllocationThreshold
财产。
R2022b:能力在代码中指定多个条目配置对象通过使用特征向量警告说
指定多个文件名、路径或保留名称代码中配置对象通过使用特征向量或标量字符串分隔符会产生一个警告,在将来的版本将被删除。使用字符串数组的单元阵列特征向量。例如,包括多个文件夹名称,您可以使用一个字符串数组CustomInclude
作为cfg。CustomInclude = [“C: \工程”,“C: \自定义文件”);
或单元阵列的特征向量cfg。CustomInclude = {“C: \项目”,“C: \自定义文件”};
包括编译生成的代码的路径。
R2021a:能力在代码中指定多个条目配置对象通过使用特征向量将被删除
在未来的版本中,指定多个文件名称,路径,或保留名称代码中配置对象通过使用特征向量或标量字符串分隔符将被删除。使用字符串数组的单元阵列特征向量。例如,包括多个文件夹名称,您可以使用一个字符串数组CustomInclude
作为cfg。CustomInclude = [“C: \工程”,“C: \自定义文件”);
或单元阵列的特征向量cfg。CustomInclude = {“C: \项目”,“C: \自定义文件”};
包括编译生成的代码的路径。
MATLAB명령
다음MATLAB명령에해당하는링크를클릭했습니다。
명령을실행하려면MATLAB명령창에입력하십시오。웹브라우저는MATLAB명령을지원하지않습니다。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。