配置参数C / c++代码生成MATLAB代码
一个coder.CodeConfig
对象包含的配置参数codegen
用于生成一个静态库,动态链接库,或一个可执行程序。通过对象的codegen
函数使用配置
选择。
cfg = coder.config (build_type)
cfg = coder.config (build_type,'ecoder', false)
cfg = coder.config (
创建一个指定构建代码生成配置对象类型,它可以是一个静态库,动态链接库,或一个可执行程序。如果嵌入式编码器®产品没有安装,它会创建一个build_type
)coder.CodeConfig
对象。否则,它会创建一个coder.EmbeddedCodeConfig
对象。
cfg = coder.config (
创建一个build_type
“是”,假)coder.CodeConfig
对象指定的输出类型,即使你有嵌入式安装编码器。
build_type
- - - - - -输出构建生成的C / c++代码“自由”
|“DLL”
|EXE”
输出构建生成的C / c++代码,在这个表指定为一个值。
价值 | 描述 |
---|---|
“自由” |
静态库 |
“DLL” |
动态链接库 |
EXE” |
可执行程序 |
BuildConfiguration
- - - - - -编译器工具链的优化或调试设置“加快构建”
(默认)|“快跑”
|“调试”
|“指定”
编译器工具链的优化或调试设置,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“加快构建” |
优化的构建更短的建立时间。 |
“快跑” |
优化构建可执行程序运行的更快。 |
“调试” |
优化构建进行调试。 |
“指定” |
使 |
CodeReplacementLibrary
- - - - - -代码替换为生成的代码库代码替换为生成的代码库,指定为这个表中的值之一:
价值 | 描述 |
---|---|
“没有” |
这个值是默认值。 不使用一个代码替换库。 |
命名的代码替换库 | 生成调用一个特定的平台,编译器,或标准代码替换库。命名的列表库取决于:
|
兼容库依赖于这些参数:
TargetLang
TargetLangStandard
ProdHWDeviceType
在硬件实现配置对象。
嵌入式编码器提供了更多的库和能力来创建和使用自定义代码替换库。
MATLAB®编码器™生成的最小集合# include
选择所需的头文件代码语句替换库。
设置这个参数之前,确认您的编译器支持您想要使用的库。万博1manbetx如果你选择一个参数值,编译器不支持,会发生编译器错误。万博1manbetx
MATLAB编码器软件不支持TLC回调。万博1manbetx
CompileTimeRecursionLimit
- - - - - -最大数量的功能专门化编译时递归最大数量的专门化的编译时递归函数,指定为一个正整数。在MATLAB代码不允许递归,集CompileTimeRecursionLimit
为0。默认编译时递归限制是大到足以让最需要这种类型的递归的递归函数。如果代码生成失败,因为编译时递归限制,和你想要编译时递归,试图增加的极限。另外,改变你的MATLAB代码,代码生成器使用运行时递归。看到编译时递归限制达到。
ConstantFoldingTimeout
- - - - - -最大数量的指令执行的常数文件夹最大数量的恒定文件夹执行的指令。在某些情况下,代码生成需要特定的指令是常数。如果constant-folded常数合并之前停止这些指令,代码生成失败。在这种情况下,增加的价值ConstantFoldingTimeout
。
CustomFFTCallback
- - - - - -回调类FFTW库调用回调类FFTW库调用的代码生成的FFT函数在MATLAB代码中,指定为一个特征向量。
提高FFT函数的执行速度,代码生成器生成调用FFTW库,您指定的回调类。如果该参数为空,代码生成器使用自己的FFT算法函数,而不是调用FFTW图书馆。
CustomHeaderCode
- - - - - -自定义代码,出现在生成的C / c++头文件定制代码出现顶部附近的每一个C / c++头文件从MATLAB代码生成的,指定为一个特征向量。
CustomInclude
- - - - - -包括文件夹添加到包括编译生成的代码路径包括文件夹添加到包括当编译生成的代码路径。指定的列表包括文件夹作为特征向量。
如果您的列表包括Windows®包含空格的路径,附上每个实例在双引号,例如:
“C: \项目“C: \自定义文件”
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
文件以外的任何功能。指定代码作为一个特征向量。
没有指定一个C静态函数定义。
CustomTerminator
- - - - - -出现在终止函数所生成的代码出现在终止函数所生成的代码,指定为一个特征向量。
CustomToolchainOptions
- - - - - -自定义设置工具选择的工具链自定义设置工具选择的工具链,指定为一个单元阵列。
依赖关系:
的工具链
属性决定了哪些工具和选项出现在单元阵列。
设置BuildConfiguration
财产指定
使CustomToolchainOptions
。
首先,获取当前的设置。例如:
cfg = coder.config (“自由”);cfg.BuildConfiguration =“指定”;选择= cfg.CustomToolchainOptions
然后,编辑中的值选择
。
这些价值观源于工具链定义文件和第三方编译器选项。看到自定义工具链登记。
DataTypeReplacement
- - - - - -数据类型在生成的代码替换“CBuiltIn”
|“CoderTypeDefs”
数据类型替换在生成的代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“CBuiltIn” |
这个值是默认值。 C代码生成器使用内置的数据类型。 |
“CoderTypeDefs” |
代码生成器使用预先定义的数据类型rtwtypes.h |
描述
- - - - - -对象描述类CodeConfig: C代码生成配置。
(默认)|特征向量对象描述,指定为一个特征向量。
DynamicMemoryAllocation
- - - - - -动态内存分配模式“阈值”
(默认)|“AllVariableSizeArrays”
|“关闭”
动态内存分配模式,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“阈值” |
这个值是默认值。 代码生成器上动态分配内存堆适应可变数组的大小(以字节为单位)大于或等于 |
“AllVariableSizeArrays” |
代码生成器动态所有适应可变数组在堆上分配内存。 |
“关闭” |
静态代码生成器为适应可变数组分配内存的堆栈。 |
无界适应可变数组需要动态内存分配。
依赖关系:
EnableVariableSizing
支持这个参数。
设置这个DynamicMemoryAllocation
来“阈值”
使DynamicMemoryAllocationThreshold
参数。
看到为适应可变数据生成代码。
DynamicMemoryAllocationThreshold
- - - - - -阈值的动态内存分配适应可变数组大小65536年
(默认)|正整数动态内存分配的适应可变数组大小阈值,指定为一个正整数。代码生成器使用动态内存分配来适应可变数组的大小(以字节为单位)大于或等于阈值。
依赖:
设置DynamicMemoryAllocation
来“阈值”
支持这个参数。
看到为适应可变数据生成代码。
EnableAutoExtrinsicCalls
- - - - - -自动非本征函数调用真正的
(默认)|假
非本征函数调用,自动指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器将一些常见的可视化功能视为外在功能。你不需要将这些函数声明为外部使用 |
假 |
代码生成器不治疗常见可视化函数作为外在功能,除非你宣布他们为外部使用coder.extrinsic 。 |
一些常见的可视化功能情节
,disp
,图
。看到非本征函数。
EnableMemcpy
- - - - - -memcpy
优化真正的
(默认)|假
memcpy
优化,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果可能的话,代码生成器使用 |
假 |
不使用代码生成器 |
EnableOpenMP
- - - - - -并行化的parfor
循环真正的
(默认)|假
并行化的parfor
循环,在这个表指定为一个值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果可能的话,代码生成器使用OpenMP库生产循环迭代并行地运行。 |
假 |
代码生成器处理 |
看到parfor
。
使用OpenMP图书馆与即时(JIT)编译不兼容。如果EnableJIT
和EnableOpenMP
是真正的
,代码生成器使用JIT编译和治疗parfor
循环,为
循环。
EnableRuntimeRecursion
- - - - - -运行时支持递归万博1manbetx真正的
(默认)|假
运行时递归的支持,在这个表指定为一个值万博1manbetx。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 递归函数都可以在生成的代码中。 |
假 |
递归函数是不允许在生成的代码。 |
一些编码标准,如MISRA®,不允许递归。增加的可能性符合MISRA - C生成代码®,设置EnableRuntimeRecursion
来假
。
如果你需要运行时递归和MATLAB代码EnableRuntimeRecursion
是假
,代码生成失败。
看到递归函数的代码生成。
EnableVariableSizing
- - - - - -适应可变数组支持万博1manbetx真正的
(默认)|假
适应可变数组的支持,在这个表指定为一个值万博1manbetx。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 适应可变数组允许代码生成。 |
假 |
适应可变数组不允许代码生成。 |
依赖:
使动态内存分配
。
看到为适应可变数组生成代码。
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命令。看到定制Post-Code-Generation构建过程。 |
GenerateReport
- - - - - -代码生成报告假
(默认)|真正的代码生成报告,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器生成一个报告只有在发生错误或警告消息,或者如果你设置 |
真正的 |
代码生成器生成的代码生成报告。 |
HardwareImplementation
- - - - - -硬件实现对象coder.HardwareImplementation
对象。硬件实现对象指定特定于硬件的配置参数C / c++代码生成。coder.config
创建一个coder.CodeConfig
对象的HardwareImplementation
属性设置为一个coder.HardwareImplementation
对象与MATLAB主机默认参数值。
HighlightPotentialRowMajorIssues
- - - - - -潜在的行布局问题真正的
(默认)|假
显示潜在的行布局效率问题,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
代码生成的报告上显示了潜在的效率问题,由于行布局。(该值是默认值)。 |
假 |
代码生成报告并没有显示阵列布局有关的问题。 |
看到代码行阵列布局设计。
InitFltsAndDblsToZero
- - - - - -转让和双零memset浮动真正的
(默认)|假
转让和双零浮动memset
,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 如果可能的话,代码生成器使用 |
假 |
不使用代码生成器 |
InlineStackLimit
- - - - - -堆栈大小限制为内联函数堆栈大小限制为内联函数,指定为一个正整数。堆栈大小限制决定的数量为内联函数的局部变量分配堆栈空间。
指定堆栈空间的限制约束的数量允许内联。超行功能,堆栈空间函数中的局部变量是函数返回时释放。然而,内联函数的堆栈空间仍然被局部变量即使函数返回。
这个功能对于嵌入式处理器尤为重要,堆栈的大小可以是有限的。
看到控制内联。
InlineThreshold
- - - - - -内联函数大小阈值内联函数大小阈值,指定为一个正整数。
除非其他条件防止内联,代码生成器内联函数小于阈值。
函数大小测量作为一个抽象的指令,而不是真正的MATLAB或指令目标处理器的指令。获得你想要的内联行为,与阈值实验。例如,如果默认阈值导致内联的函数和代大量的C代码,调整阈值,直到你满意的大小,生成的代码。
看到控制内联。
InlineThresholdMax
- - - - - -内联后最大尺寸的函数最大尺寸的内联函数后,指定为一个正整数。如果内联之后,调用函数的大小超过了InlineThresholdMax
,那么代码生成器不内联调用的函数。
函数大小测量作为一个抽象的指令,而不是真正的MATLAB或指令目标处理器的指令。获得你想要的内联行为,与阈值实验。例如,如果默认阈值导致内联的函数和代大量的C代码,调整阈值,直到你满意的大小,生成的代码。
看到控制内联。
LaunchReport
- - - - - -自动代码生成报告的开放假
(默认)|真正的指定的代码生成报告,自动打开这个表中的值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 如果发生错误或警告,或者 |
真正的 |
代码生成器产生并打开一个代码生成报告。 |
MATLABSourceComments
- - - - - -包含注释的MATLAB源代码生成的代码假
(默认)|真正的
包含注释的MATLAB源代码生成的代码,在这个表指定为一个值。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器不插入评论的MATLAB源代码生成的代码。代码生成器函数中不包括MATLAB函数签名横幅。 |
真正的 |
代码生成器插入MATLAB源代码生成的代码的注释。立即可追溯性标记之前的每一行源代码。可追溯性标记能帮助你找到相应的MATLAB源代码。看到跟踪生成的C / c++代码的MATLAB源代码。 如果你有嵌入式编码,代码生成报告,可追溯性标记源代码的链接。 代码生成器还包括MATLAB函数签名的横幅。 |
依赖:
GenerateComments
支持这个参数。
MaxIdLength
- - - - - -最大字符数生成的标识符31日
(默认)|正整数最大字符数生成的标识符,指定为一个正整数的范围[31,256]。这个属性适用于生成函数,类型定义,变量名。避免截断目标标识符的C编译器,指定一个值相匹配的目标C编译器的最大标识符长度。
这个属性并不适用于出口标识符,如为入口点函数生成的名称或emxArray API函数。如果一个出口标识符的长度超过了最大标识符长度的目标C编译器,目标C编译器截断导出的标识符。
MultiInstanceCode
- - - - - -多实例,可重入代码假
(默认)|真正的
的名字
- - - - - -对象名称“MexCodeConfig”
(默认)|特征向量对象名称、指定为一个特征向量。
OutputType
- - - - - -输出构建生成的C / c++代码“自由”
|“DLL”
|EXE”
输出构建生成的C / c++代码,在这个表指定为一个值。
价值 | 描述 |
---|---|
“自由” |
静态库 |
“DLL” |
动态链接库 |
EXE” |
可执行程序 |
PassStructByReference
- - - - - -通过引用传递结构真正的
(默认)|假
通过结构参照入口点函数,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 生成的代码通过引用传递结构,这样可以减少内存使用和执行时间通过最小化副本入口点函数的参数的数量界限。 请注意一个入口点函数写入一个字段的结构参数覆盖输入值。 |
假 |
生成的代码按值传递结构。 |
这个参数只适用于入口点函数。
PostCodeGenCommand
- - - - - -命令来构建定制加工”
(默认)|特征向量墨西哥人后命令自定义构建处理函数生成codegen
,指定为一个特征向量。
PreserveArrayDimensions
- - - - - -n维索引假
(默认)|真正的
PreserveVariableNames
- - - - - -变量名称保留在生成的代码“没有”
(默认)|“用户名”
|“所有”
变量名称保留在生成的代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
“没有” |
这个值是默认值。 代码生成器没有保存任何变量的名字。它可以重用任何变量,变量满足要求重用。 如果你的代码使用大型结构或数组,设置 |
“用户名” |
代码生成器保留名称对应MATLAB代码中定义的变量。它没有你的变量名替换为另一个名字,不使用你的名字为另一个变量。为了提高可读性,集 设置 |
“所有” |
保留所有变量名。这个参数值禁用变量重用。它只用于测试或调试,生产代码。 |
看到在生成的代码保存变量名。
ReportPotentialDifferences
- - - - - -潜在的差异报告真正的
(默认)|假
潜在的差异报告,指定为这个表中的值之一:
价值 | 描述 |
---|---|
真正的 |
代码生成器生成的代码报告潜在的行为差异和MATLAB代码。潜在的差异在选项卡列出代码生成报告。潜在的区别是不同的,发生在运行时只在特定条件下。 |
假 |
代码生成器不报告潜在的差异。 |
看到潜在的差异报告。
ReservedNameArray
- - - - - -名称的代码生成器不能使用函数或变量”
(默认)|特征向量名称,代码生成器函数或变量不能使用,指定为一个特征向量。
RowMajor
- - - - - -行存储阵列布局假
(默认)|真正的
RuntimeChecks
- - - - - -运行时错误检测和报告生成的代码假
(默认)|真正的
运行时错误检测和报告在生成的代码中,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 生成的代码不检查错误,如禁止入内的索引数组。 |
真正的 |
生成的代码检查错误,例如禁止入内的索引数组。 错误报告的软件使用 错误消息都是英文的。 |
SaturateOnIntegerOverflow
- - - - - -整数溢出的支持万博1manbetx真正的
(默认)|假
整数溢出的支持,在这个表指定为一个万博1manbetx值。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器生成的代码来支持整数溢出。万博1manbetx溢出的最小值或最大值,数据类型可以表示。 |
假 |
溢出行为取决于您的目标C编译器。在C标准,整数溢出的行为是未定义的。然而,大多数C编译器包装上溢出。 |
这个参数只适用于MATLAB内置整数类型。它并不适用于双打、单身或定点数据类型。
StackUsageMax
- - - - - -最大堆栈使用每个应用程序200000年
(默认)|正整数最大堆栈使用每个应用程序,以字节为单位,指定为一个正整数。设定一个限制,低于可用的堆栈大小。否则,可能发生运行时堆栈溢出。C编译器检测和报告堆栈溢出。
万博1manbetxSupportNonFinite
- - - - - -万博1manbetx支持非限定的值真正的
(默认)|假
万博1manbetx支持非限定的值,指定为这个表中的值之一。
价值 | 描述 |
---|---|
真正的 |
这个值是默认值。 代码生成器生成的代码来支持非限定的值(万博1manbetx |
假 |
代码生成器不能产生代码来支持非限定的值。万博1manbetx |
TargetLang
- - - - - -语言在生成的代码中使用“C”
(默认)|“c++”
语言生成的代码中使用,指定为“C”
或“c++”
。如果指定c++代码生成器将C代码到. cpp文件中,这样您就可以使用一个c++编译器和接口与外部c++应用程序。它不生成c++类。
TargetLangStandard
- - - - - -标准数学库使用生成的代码“C89 /人私下偷偷收藏盒式(ANSI)”
|“C99 (ISO)”
|“c++ 03 (ISO)”
标准生成的代码使用的数学库,指定为一个特征向量:
“C89 /人私下偷偷收藏盒式(ANSI)”
“C99 (ISO)”
“c++ 03 (ISO)”
代码生成器使用的标准数学库调用数学操作。默认的标准数学库取决于您选择的语言。对于C,默认库“C89 /人私下偷偷收藏盒式(ANSI)”
。对于c++,默认库“c++ 03 (ISO)”
。
看到改变标准数学库。
工具链
- - - - - -工具链用于构建一个C / c++库或可执行程序“自动定位一个安装工具链”
(默认)|特征向量工具链用于构建一个C / c++库或可执行程序,指定为一个特征向量。可用工具链的列表取决于主机平台,并且可以包括您所添加的自定义工具链。如果你不指定工具链,代码生成器将定位安装工具链。
详细的
- - - - - -代码生成进度显示真正的
代码生成进度显示,指定为这个表中的值之一。
价值 | 描述 |
---|---|
假 |
这个值是默认值。 代码生成器不显示代码生成的进步。 |
真正的 |
代码生成器显示代码生成的进展,包括代码生成阶段和编译器输出。 |
编写一个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
。
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。