C / C ++代码生成的配置参数马铃薯代码
一个编码器。CodeConfig
对象包含配置参数codegen
用于生成静态库、动态链接库或可执行程序。将对象传递给codegen
函数的配置
选择。
cfg = coder.config(
为指定的构建类型创建代码生成配置对象,该类型可以是静态库、动态链接库或可执行程序。如果嵌入式编码器®产品没有安装,它创建一个build_type.
)编码器。CodeConfig
对象。否则,它将创建编码器。EmbeddedCodeConfig
对象。
cfg = coder.config(
创造一个build_type.
“是”,假)编码器。CodeConfig
对象的指定输出类型,即使已安装Embedded Coder。
build_type.
- - - - - -输出从生成的C / C ++代码构建“自由”
|“DLL”
|EXE”
从生成的C/ c++代码构建的输出,指定为该表中的值之一。
价值 | 描述 |
---|---|
“自由” |
静态库 |
“DLL” |
动态链接库 |
EXE” |
可执行程序 |
BuildConfiguration.
- - - - - -编译器优化或工具链的调试设置“快跑”
(默认)|“加快构建”
|“调试”
|'指定'
编译器优化或Toolchain的调试设置,指定为此表中的值之一。
价值 | 描述 |
---|---|
“加快构建” |
优化构建以获得更短的构建时间。 |
“快跑” |
为更快的运行可执行文件进行优化构建。 |
“调试” |
优化构建以进行调试。 |
'指定' |
使 |
CodeReplacementLibrary
- - - - - -生成代码的代码替换库代码替换库生成的代码,指定为表中的值之一:
价值 | 描述 |
---|---|
“没有” |
此值为默认值。 不使用代码替换库。 |
命名代码替换库 | 生成对特定平台、编译器或标准代码替换库的调用。命名库的列表取决于:
|
兼容库依赖于以下参数:
TargetLang
Targetlangstandard.
ProdHWDeviceType
在硬件实现配置对象中。
Embedded Coder提供了更多的库以及创建和使用自定义代码替换库的能力。
马铃薯®编码器™生成最小的一组# include
所选代码替换库所需的头文件的语句。
在设置此参数之前,请验证您的编译器是否支持要使用的库。万博1manbetx如果选择编译器不支持的参数值,则可能会发生编译器错误。万博1manbetx
请注意
Matlab编码器软件不支持TLC回调。万博1manbetx
compiletimerecursionlimit.
- - - - - -用于编译时递归的函数专门化的最大数目编译时递归的函数专门化的最大数目,指定为正整数。要在MATLAB代码中禁用递归,请设置compiletimerecursionlimit.
为0。对于大多数需要这种递归的递归函数来说,默认的编译时递归限制是足够大的。如果由于编译时递归限制而导致代码生成失败,而您想要编译时递归,请尝试增加限制。或者,更改MATLAB代码,使代码生成器使用运行时递归。看到达到编译时间递归限制.
ConstantFoldingTimeout
- - - - - -常量文件夹执行的最大指令数常量文件夹执行的最大指令数。在某些情况下,代码生成需要特定指令常量。如果在这些指令常量折叠之前的常量折叠停止,则代码生成失败。在这种情况下,增加值ConstantFoldingTimeout
.
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 ++'
启用此参数。
数据类型:char
CppPreserveClasses
- - - - - -为MATLAB类生成c++类真的
(默认)|错误的
是否生成MATLAB类的C ++类或C样式结构,指定为此表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 代码生成器为MATLAB类生成c++类。看到为MATLAB类生成c++类. |
错误的 |
代码生成器为MATLAB类生成C风格的结构。 |
依赖性:
设置TargetLang
来'c ++'
启用此参数。
数据类型:逻辑
CustomBLASCallback
- - - - - -布拉斯特区callback类BLAS库的回调类呼叫在MATLAB代码中为某些低级向量和MATLIX操作中生成的代码,指定为字符向量。
如果为某些低级向量和矩阵函数指定BLAS回调类,则代码生成器通过使用BLAS库的CBLAS C接口产生BLAS调用。回调类提供CBLAS头文件的名称,CBLAS数据类型的名称以及链接到BLAS库所需的信息。如果此参数为空,则代码生成器会为矩阵函数而不是BLAS调用产生代码。
customfftcallback.
- - - - - -用于FFTW库调用的回调类FFTW库的回调类呼叫在MATLAB代码中为FFT函数生成的代码,指定为字符向量。
为了提高FFT函数的执行速度,代码生成器生成对您在回调类中指定的FFTW库的调用。如果该参数为空,代码生成器将使用自己的FFT函数算法,而不是调用FFTW库。
CustomHeaderCode
- - - - - -出现在生成的C/ c++头文件顶部的自定义代码除了从MATLAB代码生成的每个C / C ++头文件附近的自定义代码,除了RTWTYPES.H.
和RTWHALF.H.
,指定为字符向量。
CustomInclude
- - - - - -包括要添加到包含路径的文件夹,用于编译生成的代码在编译生成的代码时,包括要添加到Include路径的文件夹。将包含文件夹列表指定为字符向量。在字符向量中,用aPathsep.
的性格。例如:
cfg = coder.config(‘自由’,‘是’,假);cfg。CustomInclude = ['C:\项目'路径sep 'C:\自定义文件'];
CustomInitializer.
- - - - - -要包含在生成的初始化函数中的自定义代码要包含在生成的初始化函数中的自定义代码,指定为字符向量。
CustomLAPACKCallback
- - - - - -LAPACK callback类在MATLAB代码中为某些线性代数函数生成的代码中的LAPACK库调用的回调类,指定为字符向量。
如果为某些线性代数函数指定Lapack回调类,则代码生成器通过使用Lapacke C接口到Lapack库来产生Lapack呼叫。Callback类提供了Lapacke头文件的名称以及链接到Lapack库所需的信息。如果此参数为空,则代码生成器会为线性代数函数而不是lapack呼叫生成代码。
CustomLibrary
- - - - - -与生成的代码链接的静态库文件静态库文件链接生成的代码,指定为字符向量。在字符向量中,用aPathsep.
的性格。
customsource.
- - - - - -要编译并与生成的代码链接的源文件源文件编译和链接生成的代码,指定为字符向量。在字符向量中,单独的源文件名Pathsep.
的性格。
构建过程首先在当前文件夹中搜索源文件,然后在您指定的包含文件夹中搜索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
然后,编辑其中的值选择
.
这些值来自工具链定义文件和第三方编译器选项。看到自定义工具链登记.
数据表倒置
- - - - - -生成代码中的数据类型替换“CBuiltIn”
|'codertypedefs'
数据类型在生成的代码中替换,指定为此表中的值之一。
价值 | 描述 |
---|---|
“CBuiltIn” |
此值为默认值。 代码生成器使用内置的C数据类型。 |
'codertypedefs' |
代码生成器使用预定义的数据类型RTWTYPES.H. |
DeepLearningConfig
- - - - - -用于深度学习代码生成的配置对象编码器。MklDNNConfig
对象|编码器。一个RMNEONConfig
对象用于深度学习网络代码生成的配置对象,指定为编码器。MklDNNConfig
对象或一个编码器。一个RMNEONConfig
对象。
一个编码器。MklDNNConfig
对象包含特定于C ++代码生成的参数,用于使用英特尔深度学习®MKL-DNN。创建一个编码器。MklDNNConfig
对象,使用coder.deeplearningconfig
.例如:
cfg = coder.config(墨西哥人的);cfg.targetlang =.'c ++';cfg。DeepLearningConfig =编码器。DeepLearningConfig ('mkldnn');
一个编码器。一个RMNEONConfig
对象包含特定于使用ARM进行深度学习的c++代码生成的参数®计算库。创建一个编码器。一个RMNEONConfig
对象,使用coder.deeplearningconfig
.例如:
cfg = coder.config(“自由”);cfg.targetlang =.'c ++';cfg。DeepLearningConfig =编码器。DeepLearningConfig (“arm-compute”);
深度学习网络的代码生成需要deep learning Toolbox™和深度学习库的MATLAB编码器接口万博1manbetx支持包。
看到MKL-DNN的深度学习网络代码生成和基于ARM计算库的深度学习网络代码生成.
依赖:如果DeepLearningConfig
设置了,codegen
集TargetLang
来c++
.
描述
- - - - - -对象描述类CodeConfig: C代码生成配置。
(默认)|字符向量对象描述,指定为字符向量。
DynamicMemoryallocation.
- - - - - -动态内存分配方式“阈值”
(默认)|“AllVariableSizeArrays”
|'离开'
动态内存分配模式,指定为此表中的值之一。
价值 | 描述 |
---|---|
“阈值” |
此值为默认值。 代码生成器在变量大小阵列的堆上动态分配内存,其大小(以字节为单位)大于或等于 |
“AllVariableSizeArrays” |
代码生成器动态地为堆上所有大小可变的数组分配内存。 |
'离开' |
代码生成器静态分配堆栈上可变大小阵列的内存。 |
无界可变大小数组需要动态内存分配。
依赖性:
促进variazing.
启用此参数。
设置这一点DynamicMemoryallocation.
来“阈值”
使DynamicMemoryallocationThreshold.
范围。
看到生成可变大小数据的代码.
DynamicMemoryAllocationInterface
- - - - - -在生成的函数接口处动态分配数组“汽车”
(默认)|'C'
|'c ++'
在生成的C / C ++函数的接口处实现动态分配的数组,指定为此表中的值之一。
价值 | 描述 |
---|---|
“汽车” |
这是默认值。如果你设置了 |
'C' |
生成的代码使用C样式 |
'c ++' |
如果你设置了 否则,生成的代码使用 |
依赖性:
促进variazing.
启用此参数。
DynamicMemoryallocationThreshold.
- - - - - -可变大小数组的动态内存分配的大小阈值65536
(默认)|正整数可变大小数组的动态内存分配的大小阈值,指定为正整数。代码生成器对大小(以字节为单位)大于或等于阈值的可变大小数组使用动态内存分配。
依赖性:
设置DynamicMemoryallocation.
来“阈值”
启用此参数。
看到生成可变大小数据的代码.
EnableAutoExtrinsiccalls.
- - - - - -自动外部函数调用真的
(默认)|错误的
自动外部函数调用,指定为表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 代码生成器将一些常见的可视化函数视为外部函数。你不需要通过使用声明这些函数为外部函数 |
错误的 |
除非您通过使用将它们声明为外在功能,否则代码生成器不会将公共可视化功能视为外部函数coder.extrinsic . |
一些常见的可视化函数是阴谋
,disp
, 和数字
.看到外在功能.
EnableMemcpy.
- - - - - -memcpy
优化真的
(默认)|错误的
memcpy
优化,指定为此表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 如果可能,代码生成器使用 |
错误的 |
代码生成器不使用 |
EnableOpenmp.
- - - - - -并行化的parfor
循环真的
(默认)|错误的
并行化的parfor
-loops,指定为该表中的一个值。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 如果可能的话,代码生成器使用OpenMP库生成并行运行的循环迭代。 |
错误的 |
代码生成器处理 |
看到parfor
.
OpenMP库的使用与即时(JIT)编译不兼容。如果EnableJIT
和EnableOpenmp.
是真的
,代码生成器使用JIT编译和治疗parfor
循环,为了
- 砍伐。
EnableRuntimeRecursion
- - - - - -运行时间递归支持万博1manbetx真的
(默认)|错误的
运行时递归支持,指定为该表中的值之一。万博1manbetx
价值 | 描述 |
---|---|
真的 |
此值为默认值。 生成的代码中允许递归函数。 |
错误的 |
生成的代码中不允许使用递归函数。 |
一些编码标准,例如Misra®,不允许递归。增加生成符合Misra C的代码的可能性®,设置EnableRuntimeRecursion
来错误的
.
如果你的MATLAB代码需要运行时递归和EnableRuntimeRecursion
是错误的
,代码生成失败。
看到递归函数的代码生成.
促进variazing.
- - - - - -适应可变数组支持万博1manbetx真的
(默认)|错误的
支持可变大小数组,指定为该表中的值之一。万博1manbetx
价值 | 描述 |
---|---|
真的 |
此值为默认值。 代码生成允许可变大小的阵列。 |
错误的 |
不允许使用可变大小的数组生成代码。 |
依赖性:
使动态内存分配
.
看到可变大小阵列的代码生成.
FilePartitionMethod
- - - - - -文件分区模式'mapmfiletocfile'
(默认)|'singlefile'
文件分区模式指定为此表中的值之一。
价值 | 描述 |
---|---|
'mapmfiletocfile' |
此值为默认值。 代码生成器为每个MATLAB语言文件生成单独的C / C ++文件。 |
'singlefile' |
代码生成器为映射到MATLAB入口点函数的C/ c++函数生成一个文件。代码生成器为实用函数生成单独的C/ c++文件。 |
GenCodeOnly
- - - - - -只生成源代码错误的
(默认)|真的
仅生成源代码,指定为该表中的值之一。
价值 | 描述 |
---|---|
错误的 |
此值为默认值。 代码生成器生成C/ c++源代码并构建目标代码。 |
真的 |
代码生成器生成C/ c++源代码,但不调用make命令或构建对象代码。当您在修改MATLAB代码和生成C/ c++代码之间进行迭代时,只生成代码可以节省时间。 |
GenerateComments
- - - - - -在生成的代码中的评论真的
(默认)|错误的
生成代码中的注释,指定为该表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 代码生成器在生成的代码中放置注释。 |
错误的 |
代码生成器不会在生成的代码中放置注释。 |
GenerateExampleMain
- - - - - -示例C / C ++主要文件生成'generatocodeonly'
(默认)|'donot geanerate'
|“GenerateCodeAndCompile”
例C/ c++主文件生成,指定为表中值之一。
价值 | 描述 |
---|---|
'generatocodeonly' |
此值为默认值。 代码生成器生成一个示例C/ c++ main函数,但不编译它。 |
'donot geanerate' |
代码生成器不会生成一个示例C/ c++主函数。 |
“GenerateCodeAndCompile” |
代码生成器生成一个示例C/ c++ main函数,并编译它以创建一个测试可执行文件。此可执行文件不返回输出。 如果是 |
示例主函数是一个模板,可以帮助您编写C / C ++主函数,调用生成的C / C ++代码。看到使用示例主函数并入生成的代码.
generatemakefile.
- - - - - -makefile生成真的
(默认)|错误的
在构建过程中生成Makefile,指定为该表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 代码生成器在构建过程中生成Makefile。 |
错误的 |
代码生成器在构建过程中不会生成makefile。在后代码生成命令中指定代码代码生成处理的说明,包括编译和链接。看到构建过程定制. |
GenerateNonFiniteFilesIfUsed
- - - - - -仅当使用非有限数据万博1manbetx时,才为非有限数据生成支持文件真的
(默认)|错误的
生成非小型数据的支持文件,指万博1manbetx定为此表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 代码生成器为非有限数据生成支持文件(万博1manbetx |
错误的 |
代码生成器总是为非有限数据生成支持文件(万博1manbetx |
依赖性:
设置万博1manbetxSupportNonFinite
来真的
启用此参数。
GenerateReport.
- - - - - -代码生成报告错误的
(默认)|真的代码生成报告,指定为该表中的值之一。
价值 | 描述 |
---|---|
错误的 |
此值为默认值。 代码生成器仅在出现错误或警告消息或设置 |
真的 |
代码生成器生成代码生成报告。 |
硬件
- - - - - -指定硬件板的对象编码器。硬件
对象指定硬件板的对象。创建编码器。硬件
对象,使用coder.hardware
.例如:
cfg = coder.config('lib');hw = coder.hardware('raspberry pi');cfg.hardware = hw;
使用之前coder.hardware
,必须安装硬件的支持包。万博1manbetx
依赖性:
设置硬件
为特定硬件板自定义硬件实现对象和其他配置参数。
如果DeepLearningConfig
被设置为一个编码器。一个RMNEONConfig
对象和硬件
是空的,然后codegen
设置GenCodeOnly
财产真的
.
笔记:
假设你创造了一个编码器。CodeConfig
对象cfg
并在另一个MATLAB会话中使用它。如果MATLAB主机对于第二次会话没有指定的硬件板cfg。硬件
该参数安装在其上的属性恢复到其默认值。默认值是[]
.
HardwareImplementation
- - - - - -硬件实现对象编码器.Hardwareimplementation.
对象。硬件实现对象,用于指定C / C ++代码生成的硬件特定配置参数。Coder.config.
创造一个编码器。CodeConfig
对象与之HardwareImplementation
属性设置为编码器.Hardwareimplementation.
对象具有MATLAB主机的默认参数值。
Headerguardstyle.
- - - - - -生成代码中预处理器指令的风格“UseIncludeGuard”
(默认)|'usepragmaonce'
为了防止由于包含多个头文件而导致的编译错误,代码生成器只生成一个头文件#如果未定义
要么# pragma一旦
在生成的头文件中的构造。如果项目使用使用相同预处理器宏的不同文件,则使用# pragma一旦
构造。的编译行为# pragma一旦
不是标准化的。
指定Headerguardstyle.
作为表中的值之一。
价值 | 描述 |
---|---|
umermcludeguard. |
代码生成器会产生 |
UsePragmaOnce |
代码生成器会产生# pragma一旦 风格# include 守卫。 |
HighlightPotentialRowMajorIssues
- - - - - -潜在的行主布局问题真的
(默认)|错误的
显示潜在的行主布局效率问题,指定为该表中的值之一。
价值 | 描述 |
---|---|
真的 |
代码生成报告显示了由于行主布局造成的潜在效率问题。(此值为默认值。) |
错误的 |
代码生成报告不会显示与数组布局相关的问题。 |
看到行主要数组布局的代码设计.
InitFltsAndDblsToZero
- - - - - -用MEMSET分配浮子和双零真的
(默认)|错误的
赋值float和double zeroMemset.
,指定为此表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 如果可能,代码生成器使用 |
错误的 |
代码生成器不使用 |
InlineBetweenMathWorksFunctions
- - - - - -MathWorks函数之间的控件内联“速度”
(默认)|'总是'
|“可读性”
|'绝不'
在MathWorks调用其他MathWorks函数的所有呼叫网站上的内联行为,指定为此表中的值之一。
价值 | 描述 |
---|---|
“速度” |
此值为默认值。 使用内部试探法确定是否在调用站点执行内联。这种设置通常会导致高度优化的代码。 |
'总是' |
始终在呼叫站点执行内联。 |
“可读性” |
几乎从不内联函数调用,除非调用非常小的函数。尽可能保持代码的模块化,而不牺牲太多的速度。结果是高可读性的代码。 |
'绝不' |
永远不要内联函数调用。导致最大的可读性。此设置可能会显著降低生成代码的性能。 |
即使你选择了'总是'
或者'绝不'
在某些情况下,选择的选项,代码生成器可能不会严格遵循该指令。例如,如果存在冲突,编码器.inline('总是')
要么coder.inline(“不”)
置于函数体内的指令将重写此选项。有关更多信息,请参见不同内联控制之间的互动.
InlineBetweenUserAndMathWorksFunctions
- - - - - -控制在用户写入功能和MATHWORKS功能之间的内联“速度”
(默认)|'总是'
|“可读性”
|'绝不'
在所有呼叫网站上的内联行为,其中写入MathWorks函数的函数,或MathWorks函数调用您写入的函数。指定为此表中的值之一。
价值 | 描述 |
---|---|
“速度” |
此值为默认值。 使用内部试探法确定是否在调用站点执行内联。这种设置通常会导致高度优化的代码。 |
'总是' |
始终在呼叫站点执行内联。 |
“可读性” |
几乎从不内联函数调用,除非调用非常小的函数。尽可能保持代码的模块化,而不牺牲太多的速度。结果是高可读性的代码。 |
'绝不' |
永远不要内联函数调用。导致最大的可读性。此设置可能会显著降低生成代码的性能。 |
即使你选择了'总是'
或者'绝不'
在某些情况下,选择的选项,代码生成器可能不会严格遵循该指令。例如,如果存在冲突,编码器.inline('总是')
要么coder.inline(“不”)
置于函数体内的指令将重写此选项。有关更多信息,请参见不同内联控制之间的互动.
InlineBetweenUserFunctions
- - - - - -用户编写的函数之间的控件内联“速度”
(默认)|'总是'
|“可读性”
|'绝不'
在你写的函数调用你写的另一个函数的所有调用站点上的内联行为,指定为表中的值之一。
价值 | 描述 |
---|---|
“速度” |
此值为默认值。 使用内部试探法确定是否在调用站点执行内联。这种设置通常会导致高度优化的代码。 |
'总是' |
始终在呼叫站点执行内联。 |
“可读性” |
几乎从不内联函数调用,除非调用非常小的函数。尽可能保持代码的模块化,而不牺牲太多的速度。结果是高可读性的代码。 |
'绝不' |
永远不要内联函数调用。导致最大的可读性。此设置可能会显著降低生成代码的性能。 |
即使你选择了'总是'
或者'绝不'
在某些情况下,选择的选项,代码生成器可能不会严格遵循该指令。例如,如果存在冲突,编码器.inline('总是')
要么coder.inline(“不”)
置于函数体内的指令将重写此选项。有关更多信息,请参见不同内联控制之间的互动.
LaunchReport
- - - - - -自动打开代码生成报告错误的
(默认)|真的自动打开代码生成报告,指定为本表中的值之一。
价值 | 描述 |
---|---|
错误的 |
此值为默认值。 如果发生错误或警告,或者如果 |
真的 |
代码生成器生成并打开代码生成报告。 |
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++编译器将截断导出的标识符。
默认值:
如果TargetLang
被设置为'C'
的默认值MaxIdLength
是31
.
如果TargetLang
被设置为'c ++'
的默认值MaxIdLength
是1024
.
multipstancecode.
- - - - - -多实例,可重入代码错误的
(默认)|真的
多实例,重新输入代码,指定为此表中的值之一。
价值 | 描述 |
---|---|
错误的 |
此值为默认值。 代码生成器不会生成多实例的重码代码。 |
真的 |
代码生成器生成可重用的、可重入的多实例代码。 |
看到可重入代码.GPU Coder™产品不支持此选项。万博1manbetx
的名字
- - - - - -对象名称“CodeConfig”
(默认)|字符向量对象名称,指定为字符向量。
OutputType.
- - - - - -输出从生成的C / C ++代码构建“自由”
|“DLL”
|EXE”
从生成的C/ c++代码构建的输出,指定为该表中的值之一。
价值 | 描述 |
---|---|
“自由” |
静态库 |
“DLL” |
动态链接库 |
EXE” |
可执行程序 |
PassstructByReference.
- - - - - -引用传递结构真的
(默认)|错误的
通过参考入口点函数传递结构,指定为此表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 生成的代码通过引用传递结构,通过最小化入口点函数边界上参数的副本数量来减少内存使用和执行时间。 请注意 写入结构参数字段的入口点函数将重写输入值。 |
错误的 |
生成的代码按值传递结构。 |
此参数仅适用于入口点函数。
GPU编码器总是设置PassstructByReference.
属性为true。
PostCodeGenCommand
- - - - - -命令自定义构建处理''
(默认)|字符向量命令以在MEX功能生成后自定义构建处理codegen
,指定为字符向量。
看到构建过程定制.
PreserveArrayDimensions
- - - - - -N维索索引错误的
(默认)|真的
preservevariamblenames.
- - - - - -变量名称以保存生成的代码“没有”
(默认)|“用户名”
|“所有”
变量名称要保存在生成的代码中,指定为此表中的值之一。
价值 | 描述 |
---|---|
“没有” |
此值为默认值。 代码生成器不需要保留任何变量名。它可以重用任何满足变量重用要求的变量。 如果您的代码使用大型结构或数组,则设置 |
“用户名” |
代码生成器保留与您在MATLAB代码中定义的变量对应的名称。它不会将变量名替换为另一个名称,也不会将您的名称用于另一个变量。为了提高可读性,设置 设置 |
“所有” |
保留所有变量名。此参数值禁止变量重用。它只用于测试或调试,而不是用于生产代码。 |
exportinfovarname.
- - - - - -包含代码生成报告信息的变量名称''
(默认)|字符向量将有关代码生成的信息导出到其上的变量的名称,指定为字符向量。代码生成器在基本的MATLAB工作空间中创建这个变量。此变量包含有关代码生成设置、输入文件、生成文件和代码生成消息的信息。
ReportPotentialDifferences
- - - - - -潜在的差异报告真的
(默认)|错误的
电位差报告,指定为表中值之一:
价值 | 描述 |
---|---|
真的 |
代码生成器报告生成的代码和MATLAB代码之间的潜在行为差异。潜在的差异列在代码生成报告的一个选项卡上。电位差是在运行时仅在某些条件下发生的差值。 |
错误的 |
代码生成器不会报告潜在的差异。 |
看到潜在的差异报告.
reasurednameArray.
- - - - - -代码生成器不能对函数或变量使用名称''
(默认)|字符向量|字符串标量代码生成器不能对函数或变量使用的名称列表,指定为字符向量或字符串标量。要指定多个保留名称,请使用分号分隔的保留名称列表reasurednameArray.
.例如,cfg。ReservedNameArray = " reserve1; reserve2 reserve3”
.
rowmajor.
- - - - - -行存储阵列布局错误的
(默认)|真的
RunInitializeFCN.
- - - - - -自动运行初始化函数在生成的入口点函数的开始处生成对初始化函数的调用,指定为该表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 在生成的入口点函数的开头包含对初始化函数的调用。生成的代码包括检查,以确保初始化函数只被调用一次,即使有多个入口点函数。 |
错误的 |
生成的入口点函数不包括对初始化函数的调用。 |
依赖性:
设置multipstancecode.
来真的
禁用这个参数。
runtimechecks.
- - - - - -在生成的代码中检测和报告运行时错误错误的
(默认)|真的
在生成的代码中进行运行时错误检测和报告,指定为该表中的值之一。
价值 | 描述 |
---|---|
错误的 |
此值为默认值。 生成的代码不会检查诸如超出边界的数组索引之类的错误。 |
真的 |
生成的代码将检查诸如超出边界的数组索引之类的错误。 错误报告软件使用 错误消息是英文。 |
SaturateOnIntegerOverflow
- - - - - -整数溢出支持万博1manbetx真的
(默认)|错误的
整数溢出支持,指定为该表中的一个值万博1manbetx。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 代码生成器生成处理整数溢出的代码。溢出会饱和到数据类型所能表示的最小值或最大值。 |
错误的 |
代码生成器不生成代码以处理整数溢出。没有设置 |
此参数仅适用于MATLAB内置整数类型。它不适用于双精度、单精度或定点数据类型。
StackUsageMax
- - - - - -每个应用程序的最大堆栈使用200000年
(默认)|正整数每个应用程序的最大堆栈用法(以字节为单位)指定为正整数。设置低于可用堆栈大小的限制。否则,可能会发生运行时堆栈溢出。C编译器检测并报告堆栈溢出。
万博1manbetxSupportNonFinite
- - - - - -万博1manbetx支持非小型值真的
(默认)|错误的
万博1manbetx支持非小型值,指定为此表中的值之一。
价值 | 描述 |
---|---|
真的 |
此值为默认值。 如果 如果 |
错误的 |
代码生成器不生成支持非有限值的代码。万博1manbetx |
TargetLang
- - - - - -生成代码中使用的语言'C'
(默认)|'c ++'
用于生成代码的语言,指定为'C'
要么'c ++'
.如果指定C ++,则代码生成器将C代码包裹到.cpp文件中,以便您可以使用C ++编译器和与外部C ++应用程序的接口。它不会生成C ++类。
依赖:如果DeepLearningConfig
设置了,codegen
集TargetLang
来c++
.
Targetlangstandard.
- - - - - -用于生成的代码的标准数学库'C89 / C90(ANSI)'
|“C99 (ISO)”
|“c++ 03 (ISO)”
|'C ++ 11(ISO)'
用于生成代码的标准数学库,指定为以下字符向量之一:
'C89 / C90(ANSI)'
“C99 (ISO)”
“c++ 03 (ISO)”
'C ++ 11(ISO)'
代码生成器使用标准数学库来调用数学操作。默认的标准数学库取决于您选择的语言。对于C语言,默认库是“C99 (ISO)”
.对于c++,默认库是“c++ 03 (ISO)”
.
看到改变标准数学库.
工具链
- - - - - -用于构建C/ c++库或可执行程序的工具链“自动定位安装的工具链”
(默认)|字符向量用于构建C/ c++库或可执行程序的工具链,指定为字符向量。可用工具链的列表取决于主机平台,可以包括您添加的自定义工具链。如果您没有指定工具链,代码生成器将定位已安装的工具链。
笔记:
假设你创造了一个编码器。CodeConfig
对象cfg
并在另一个MATLAB会话中使用它。如果用于第二会话的MATLAB主机没有在中指定的工具链cfg.toolchain.
该参数安装在其上的属性恢复到其默认值。默认值是“自动定位安装的工具链”
.
详细的
- - - - - -代码生成进度显示真的
代码生成进度显示,指定为此表中的值之一。
价值 | 描述 |
---|---|
错误的 |
此值为默认值。 代码生成器不显示代码生成进度。 |
真的 |
代码生成器显示代码生成过程,包括代码生成阶段和编译器输出。 |
写一个可以从中生成代码的MATLAB函数。此示例使用该功能迈达德
返回其输入的和。
函数myadd(a,b) = myadd(a,b);结束
创建一个配置对象来生成独立的C/ c++代码(静态库、动态链接库或可执行程序)。例如,为生成静态库创建配置对象。
cfg = coder.config(“自由”);
更改不希望使用默认值的属性值。例如,在生成的C/ c++代码中启用运行时错误检测和报告。
cfg。RuntimeChecks = true;
使用以下命令生成代码codegen
.将配置对象传递给codegen
通过使用配置
选择。指定输入参数为标量双精度。
codegen迈达德配置cfgarg游戏{1}-报告
使用生成类型的默认配置参数“自由”
,“DLL”
,或EXE”
,可以使用codegen
选项-config:lib
,-Config:DLL.
,或配置:exe
,分别。然后,您不必创建并传递配置对象codegen
.
你点击一个链接对应于这个MATLAB命令:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。