主要内容

coder.MexCodeConfig

墨西哥人的配置参数函数生成MATLAB代码

描述

一个coder.MexCodeConfig对象包含的配置参数codegen使用时生成一个墨西哥人的功能。通过对象的codegen函数使用配置选择。

创建

创建一个coder.MexCodeConfig通过使用对象coder.config函数。

一旦你创建一个coder.MexCodeConfig对象,您可以在命令行或修改其属性以编程方式交互地使用配置参数对话框。看到在命令行指定配置参数工作流交互

属性

全部展开

动态数组优化,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器可以提高生成C代码的执行时间通过优化动态数组访问。

代码生成器不优化动态数组的访问。

看到优化动态数组访问

代码生成的代码的格式化选项,表中指定的值。

价值 描述
“Clang-format”

代码生成器生成的代码格式显示clang-format文件。

“汽车”

使用一个内部启发式来确定生成的代码格式化clang-format或者是MathWorks®格式化工具。

确定生成的代码被格式化了clang-format,在一个coder.config对象,设置冗长选项“详细”

“MathWorks”

原因代码生成器回到MathWorks格式化工具。

最大数量的专门化的编译时递归函数,指定为一个正整数。在MATLAB不允许递归®代码,设置CompileTimeRecursionLimit为0。默认编译时递归限制是大到足以让最需要这种类型的递归的递归函数。如果代码生成失败,因为编译时递归限制,和你想要编译时递归,试图增加的极限。另外,改变你的MATLAB代码,代码生成器使用运行时递归。看到编译时递归限制达到

最大数量的恒定文件夹执行的指令。在某些情况下,代码生成需要特定的指令是常数。如果constant-folded常数合并之前停止这些指令,代码生成失败。在这种情况下,增加的价值ConstantFoldingTimeout

看到MATLAB编码器优化生成的代码

常数输入检查模式,指定为这个表中的值之一。

价值 描述
“CheckValues”

这个值是默认值。

墨西哥人的函数调用时,它检查您提供一个恒定的输入参数的值是在代码生成时指定的值。

你可以叫墨西哥人函数和原始的MATLAB函数相同的参数。因此,您可以使用相同的功能的测试文件。

检查值可以减缓墨西哥人的执行功能。

“IgnoreValues”

当你叫墨西哥人功能,它忽略了价值,你提供一个恒定的输入参数。它使用在代码生成时指定的值。

您可以使用相同的测试文件没有检查的开销常数参数值。

“删除”

代码生成器将常数从墨西哥人输入参数的函数签名。当你叫墨西哥人功能,你不是一个常数输入参数提供一个值。

此选项提供向后兼容性。

看到在墨西哥人函数常数输入检查

生成c++代码11是否包含枚举类或普通C枚举指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器生成枚举类的MATLAB枚举生成c++代码11。看到为枚举代码生成

代码生成器产生普通C枚举的MATLAB枚举生成c++代码11。

依赖:

  • 设置TargetLang“c++”支持这个参数。

是否为包生成c++名称空间在MATLAB代码中,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器生成c++名称空间在MATLAB代码包。看到生成c++代码组织成名称空间

代码生成器不能产生c++名称空间在MATLAB代码的包。

依赖:

  • 设置TargetLang“c++”支持这个参数。

数据类型:逻辑

名称空间为生成c++代码。代码生成器不能产生代码在一个名称空间,除非你指定一个非空的特征向量。

看到生成c++代码组织成名称空间

依赖:

  • 设置TargetLang“c++”支持这个参数。

名称空间为MathWorks生成c++代码的代码。代码生成器不能产生这样一个名称空间如果指定这个属性是一个空的特征向量。

看到生成c++代码组织成名称空间

依赖:

  • 设置TargetLang“c++”支持这个参数。

数据类型:字符

是否生成c++类C风格为MATLAB类结构,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

为MATLAB代码生成器生成c++类的类。看到为MATLAB生成c++类的类

代码生成器生成C风格为MATLAB类结构。

当使用GPU编码器™,代码生成器总是禁用这个参数。

依赖:

  • 设置TargetLang“c++”支持这个参数。

数据类型:逻辑

定制代码出现顶部附近的每一个C / c++头文件从MATLAB代码生成的,除了rtwtypes.hrtwhalf.h,指定为一个特征向量。

包括文件夹添加到包括当编译生成的代码路径。指定包括文件夹的列表作为一个字符串数组,单元阵列特征向量,特征向量。

多个文件夹名称,指定为这个表中的值之一。

价值 描述
字符串数组

一个字符串数组CustomInclude。例如,cfg。CustomInclude = [“C: \工程”,“C: \自定义文件”);

单元阵列的特征向量

一个细胞阵列的特征向量CustomInclude。例如,cfg。CustomInclude = {“C: \项目”,“C: \自定义文件”};

特征向量

单独由一个包括文件夹pathsep字符CustomInclude。例如,cfg。CustomInclude = [' C: \项目' pathsep“C: \自定义文件”);

请注意

在代码中指定多个条目配置对象通过使用特征向量将在未来的版本中被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑

自定义代码包括在生成的初始化函数,指定为一个特征向量。

静态库文件和生成的代码链接,指定为一个字符串数组,单元阵列特征向量,特征向量。

多个静态库文件名称,指定为这个表中的值之一。

价值 描述
字符串数组

一个字符串数组CustomLibrary。例如,cfg。CustomLibrary = (“myLib1.lib”、“myLib2.lib”);

单元阵列的特征向量

一个细胞阵列的特征向量CustomLibrary。例如,cfg。CustomLibrary = {‘myLib1.lib’,‘myLib2.lib};

特征向量

由一个单独的静态库文件的名字pathsep字符CustomLibrary。例如,cfg。CustomLibrary = [' myLib1。自由的pathsep myLib2.lib];

请注意

在代码中指定多个条目配置对象通过使用特征向量将在未来的版本中被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑

源文件和生成的代码编译和链接,指定为一个字符串数组,单元阵列特征向量,特征向量。

首先构建过程搜索源文件在当前文件夹,然后在您指定的包括文件夹CustomInclude。如果源文件名称相同的发生在多个文件夹搜索路径,构建过程可能使用一个不同的文件比指定的文件。

假设您指定foo.cpp作为一个源文件。如果foo.cfoo.cpp都是在搜索路径,你不能确定是否构建过程使用吗foo.cfoo.cpp

多个源文件名称,指定为这个表中的值之一。

价值 描述
字符串数组

一个字符串数组CustomSource。例如,cfg。CustomSource = (“mySrc1.c”、“mySrc2.c”);

单元阵列的特征向量

一个细胞阵列的特征向量CustomSource。例如,cfg。CustomSource = {‘mySrc1.c’,‘mySrc2.c};

特征向量

由一个单独的源文件的名字pathsep字符CustomSource。例如,cfg。CustomSource = [' mySrc1。c的pathsep mySrc2.c];

请注意

在代码中指定多个条目配置对象通过使用特征向量将在未来的版本中被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑

指定每个生成的代码出现顶部附近。c. cpp文件(除了rtwhalf.crtwhalf.cpp)以外的任何函数。指定代码作为一个特征向量。

没有指定一个C静态函数定义。

出现在终止函数所生成的代码,指定为一个特征向量。

配置对象的代码生成深度学习网络,指定为在这个表中指定为一个对象。

对象 需要 描述
coder.MklDNNConfig

  • 深度学习工具箱™

  • 为深度学习MATLAB编码器™接口库金宝app支持包

一个coder.MklDNNConfig对象包含参数特定于c++代码生成深度学习使用英特尔®MKL-DNN。创建一个coder.MklDNNConfig对象,使用coder.DeepLearningConfig。例如:

cfg = coder.config (墨西哥人的);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“mkldnn”);

看到代码生成与MKL-DNN深度学习网络

coder.CuDNNConfig(GPU编码器)

  • 深度学习工具箱

  • GPU编码器

  • 为深度学习GPU编码器接口库金宝app支持包

一个coder.CuDNNConfig对象包含特定于CUDA参数®深度学习使用cuDNN库的代码生成。创建一个coder.CuDNNConfig对象,使用coder.DeepLearningConfig。例如:

cfg = coder.gpuConfig (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“cudnn”);

看到通过使用cuDNN代码生成深度学习网络(GPU编码器)

coder.TensorRTConfig(GPU编码器)

  • 深度学习工具箱

  • GPU编码器

  • 为深度学习GPU编码器接口库金宝app支持包

一个coder.TensorRTConfig对象包含参数特定于CUDA深度学习使用TensorRT库的代码生成。创建一个coder.TensorRTConfig对象,使用coder.DeepLearningConfig。例如:

cfg = coder.gpuConfig (“自由”);cfg。TargetLang =“c++”;cfg。DeepLearningConfig = coder.DeepLearningConfig (“tensorrt”);

看到通过使用TensorRT代码生成深度学习网络(GPU编码器)

请注意

墨西哥人不支持代码生成的深度学习使用的手臂金宝app®计算库。

依赖:如果DeepLearningConfig是集,codegenTargetLangc++

动态内存分配模式,指定为这个表中的值之一。

价值 描述
“阈值”

这个值是默认值。

代码生成器上动态分配内存堆适应可变数组的大小(以字节为单位)大于或等于DynamicMemoryAllocationThreshold

“AllVariableSizeArrays” 代码生成器动态所有适应可变数组在堆上分配内存。
“关闭”

静态代码生成器为适应可变数组分配内存的堆栈。

无界适应可变数组需要动态内存分配。

依赖关系:

  • EnableVariableSizing支持这个参数。

  • 设置这个DynamicMemoryAllocation“阈值”使DynamicMemoryAllocationThreshold参数。

看到为适应可变数据生成代码

实现界面的动态分配的数组生成的C / c++函数,指定为这个表中的值之一。

价值 描述
“汽车”

这是默认值。如果你设置TargetLang参数“c++”“C”相同的标志,这个值相应的行为。

“C”

生成的代码使用C风格emxArray数据结构来实现动态分配的数组。看到使用C数组生成的函数接口

“c++”

如果你设置TargetLang参数“C”,这个值是禁用的。

生成的代码使用编码器:数组类模板来实现动态分配的数组。看到使用动态分配的c++数组生成的函数接口

使用GPU编码器时,代码生成器总是使用C风格emxArray数据结构。

依赖:

  • EnableVariableSizing支持这个参数。

大小阈值的动态内存分配固定大小和适应可变数组,指定为一个正整数。代码生成器使用动态内存分配固定大小和适应可变数组的大小(以字节为单位)大于或等于阈值。

依赖:

  • 设置DynamicMemoryAllocation“阈值”支持这个参数。

看到为适应可变数据生成代码

自动并行化循环,在这个表指定为一个值。

价值 描述

这个值是默认值。

代码生成器并不会自动并行化循环。

真正的

代码生成器自动截然不同循环在生成的代码中。自动并行化可以显著提高生成的代码的执行速度。看到自动并行化的循环生成的代码

使用GPU编码器时,代码生成器总是让自动并行循环。

数据类型:逻辑

报告的自动并行化循环,在这个表指定为一个值。

价值 描述
真正的

这个值是默认值。

如果你设置EnableAutoParallelization真正的,代码生成器生成的代码生成报告的自动并行化循环

代码生成器不能产生自动并行化的代码生成报告循环。

表达式呼应,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

墨西哥人函数显示的输出语句,不以分号结束。

墨西哥人功能不显示的输出语句,不以分号结束。

这个属性并不适用于常见的可视化功能,如disp,情节,或当他们被称为作为一个外部函数。墨西哥人函数显示的输出函数无论分号或者的价值的存在EchoExpressions

非本征函数调用,自动指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器将一些常见的可视化功能视为外在功能。你不需要将这些函数声明为外部使用coder.extrinsic。此功能可以减少代码的时间,你花适合代码生成。

代码生成器不治疗常见可视化函数作为外在功能,除非你宣布他们为外部使用coder.extrinsic

一些常见的可视化功能情节,disp,。看到使用MATLAB引擎来执行一个函数调用生成的代码

C编译器调试模式,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器并不使C编译器调试模式。

真正的

代码生成器允许C编译器调试模式。当启用调试模式时,C编译器不优化代码。编译速度更快,但执行慢。

隐式扩张能力在生成的代码中,指定表中列出的值。

价值 描述
真正的

这个值是默认值。

代码生成器允许隐式扩张在生成的代码中。代码生成器包括在生成的代码修改应用隐式扩张。看到兼容数组大小的基本操作

生成的代码不遵守规则的隐式扩张。

数据类型:逻辑

即时(JIT)编译模式,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器创建一个C / c++墨西哥人函数通过生成和编译C / c++代码。

真正的

代码生成器使用即时(JIT)编译技术对于墨西哥人函数生成。代码生成器创建一个JIT墨西哥人MATLAB的函数,其中包含一个抽象表示的代码。当您运行JIT墨西哥人功能,MATLAB生成可执行代码在内存中。

加快代墨西哥人功能,集EnableJIT真正的

JIT编译与某些不兼容的代码生成功能和选项,如自定义代码或使用图书馆OpenMP。如果你指定JIT编译代码生成器无法使用它,它会生成一个C / c++墨西哥人函数与一个警告。如果EnableJITEnableOpenMP真正的,你的代码使用parfor,代码生成器使用JIT编译和治疗parfor循环,循环。

看到加快墨西哥人一代使用JIT编译

memcpy优化,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

如果可能的话,代码生成器使用memcpy优化。连续优化的代码复制数组元素memcpy优化替换的代码memcpy调用。当元素的数量复制在编译时是已知的,代码生成器使用MemcpyThreshold属性来决定是否使用优化。看到memcpy优化

不使用代码生成器memcpy优化。

使用GPU编码器时,代码生成器总是禁用Memcpy优化。

使生成的墨西哥人的分析功能,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器并不包括分析的仪器生成的墨西哥人的功能。

真正的

代码生成器生成包括仪器分析的墨西哥人的功能。然后,您可以使用MATLAB分析器配置墨西哥人。看到通过使用MATLAB分析器概要墨西哥人功能

并行化的parfor循环,在这个表指定为一个值。

价值 描述
真正的

这个值是默认值。

如果可能的话,代码生成器使用OpenMP库生产循环迭代并行地运行。

代码生成器处理parfor循环,循环。

看到parfor

使用OpenMP图书馆与即时(JIT)编译不兼容。如果EnableJITEnableOpenMP真正的,代码生成器使用JIT编译和治疗parfor循环,循环。

使用GPU编码器时,代码生成器总是对待parfor循环,循环。

运行时递归的支持,在这个表指定为一个值金宝app。

价值 描述
真正的

这个值是默认值。

递归函数都可以在生成的代码中。

递归函数是不允许在生成的代码。

一些编码标准,如MISRA®,不允许递归。增加的可能性符合MISRA - C生成代码®,设置EnableRuntimeRecursion

如果你需要运行时递归和MATLAB代码EnableRuntimeRecursion,代码生成失败。

看到递归函数的代码生成

适应可变数组的支持,在这个表指定为一个值金宝app。

价值 描述
真正的

这个值是默认值。

适应可变数组允许代码生成。

适应可变数组不允许代码生成。

依赖:

  • 使动态内存分配

看到为适应可变数组生成代码

非本征函数调用的支持,在这个表指定为一个值。金宝app

价值 描述
真正的

这个值是默认值。

对于一个外部函数,代码生成器生成调用MATLAB函数。代码生成器并不生成函数的内部代码。

代码生成器忽略了一个外部函数。它不生成代码的调用MATLAB函数。如果外在影响MATLAB函数的输出函数,代码生成器编译错误问题。

如果你设置ExtrinsicCalls,生成的墨西哥人函数不能显示运行时信息错误断言语句在MATLAB代码中。墨西哥人函数报告说,它不能显示错误消息。看到错误消息,集ExtrinsicCalls真正的并再次生成墨西哥人的功能。

的价值ExtrinsicCalls影响一个墨西哥人函数为兰德生成随机数,兰迪,randn。如果ExtrinsicCalls真正的,墨西哥人全球随机数流函数使用MATLAB生成随机数。否则,墨西哥人函数使用一个独立的随机数发生器。

看到使用MATLAB引擎来执行一个函数调用生成的代码

文件分区模式指定为这个表中的值之一。

价值 描述
“MapMFileToCFile”

这个值是默认值。

代码生成器生成单独的C / c++文件为每个MATLAB语言文件。

“SingleFile” 代码生成器产生单个文件的C / c++函数映射到你的MATLAB函数入口点。代码生成器生成单独的C / c++文件的实用函数。

看到MATLAB编码器分区生成的代码如何

代的源代码,在这个表指定为一个值。

价值 描述

这个值是默认值。

代码生成器生成C / c++源代码和构建对象代码。

真正的

代码生成器生成C / c++源代码,但不调用make命令或构建对象代码。当你修改MATLAB代码之间的迭代生成C / c++代码,生成唯一的代码可以节省时间。

评论在生成的代码中,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

代码生成器的地方评论在生成的代码中。

代码生成器不评论在生成的代码中。

代码生成报告,指定为这个表中的值之一。

价值 描述

这个值是默认值。

代码生成器生成一个报告只有在发生错误或警告消息,或者如果你设置LaunchReport真正的

真正的 代码生成器生成的代码生成报告。

全球数据同步模式,指定为这个表中的值之一。

价值 描述全局数据 描述恒定的全局数据

“SyncAlways”(默认)

这个值是默认值。

全球数据同步墨西哥人函数入口和出口之间的外在要求最大限度的一致性和MATLAB和生成的墨西哥人功能。最大化性能,如果外部调用不改变全局数据,使用此选项coder.extrinsic同步:了选项关掉这些调用的同步。

验证一致性在墨西哥人持续的全球数据条目和外在后调用函数。如果全球数据值在MATLAB全球工作区与全球编译时常量值不一致的墨西哥人功能,墨西哥人函数以一个错误。使用coder.extrinsic同步:了选项关闭后一致性检查特定的外在要求。

“SyncAtEntryAndExits”

全球数据同步墨西哥人函数入口和出口。最大化性能,如果只有少数外在要求改变全局数据,使用此选项coder.extrinsic同步:选项来打开这些调用的同步。

验证常数在墨西哥人全球数据函数入口。如果全球数据值在MATLAB全球工作区与全球编译时常量值不一致的墨西哥人功能,墨西哥人函数以一个错误。使用coder.extrinsic同步:选项打开后一致性检查特定的外在要求。

“NoSync”

禁用同步。禁用同步之前,验证您的墨西哥人不与MATLAB函数全局数据。否则,会发生MATLAB和墨西哥人函数之间的不一致性。

禁用一致性检查。

看到为全局数据生成代码

显示潜在的行布局效率问题,指定为这个表中的值之一。

价值 描述
真正的

代码生成的报告上显示了潜在的效率问题,由于行布局。(该值是默认值)。

代码生成报告并没有显示阵列布局有关的问题。

看到代码行阵列布局设计

转让和双零浮动memset,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

如果可能的话,代码生成器使用memset优化连续浮点零分配给数组元素。连续分配数组元素memset优化使用memset调用。当元素的数量分配在编译时是已知的,代码生成器使用MemcpyThreshold属性来决定是否使用优化。看到memset优化

不使用代码生成器memset优化连续漂浮和双零分配给数组元素。

内联行为调用地点MathWorks调用另一个MathWorks函数,指定为这个表中的值之一。

价值 描述
“速度”

这个值是默认值。

使用内部启发式来决定是否执行内联调用站点。这个设置通常会导致高度优化的代码。

“总是”

总是表现内联调用站点上。

“可读性”

几乎从不内联函数调用,除了要求非常小的功能。保留了模块化的代码不牺牲太多的速度,只要有可能。结果在高度可读的代码。

“永远”

内联函数调用。导致最大的可读性。这个设置可以显著减少生成的代码的性能。

即使你选择“总是”或者是“永远”选择设置,在某些情况下,代码生成器可能不严格遵循指令。例如,如果有一个冲突,coder.inline(总是)coder.inline(“不”)指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用

看到控制内联微调性能和生成的代码的可读性

内联行为调用站点,你写一个函数,调用一个MathWorks函数,或者MathWorks函数调用一个函数,你写道。这个表中指定的值。

价值 描述
“速度”

这个值是默认值。

使用内部启发式来决定是否执行内联调用站点。这个设置通常会导致高度优化的代码。

“总是”

总是表现内联调用站点上。

“可读性”

几乎从不内联函数调用,除了要求非常小的功能。保留了模块化的代码不牺牲太多的速度,只要有可能。结果在高度可读的代码。

“永远”

内联函数调用。导致最大的可读性。这个设置可以显著减少生成的代码的性能。

即使你选择“总是”或者是“永远”选择设置,在某些情况下,代码生成器可能不严格遵循指令。例如,如果有一个冲突,coder.inline(总是)coder.inline(“不”)指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用

看到控制内联微调性能和生成的代码的可读性

内联行为调用站点,你写一个函数,调用另一个函数,你写道,在这个表指定为一个值。

价值 描述
“速度”

这个值是默认值。

使用内部启发式来决定是否执行内联调用站点。这个设置通常会导致高度优化的代码。

“总是”

总是表现内联调用站点上。

“可读性”

几乎从不内联函数调用,除了要求非常小的功能。保留了模块化的代码不牺牲太多的速度,只要有可能。结果在高度可读的代码。

“永远”

内联函数调用。导致最大的可读性。这个设置可以显著减少生成的代码的性能。

即使你选择“总是”或者是“永远”选择设置,在某些情况下,代码生成器可能不严格遵循指令。例如,如果有一个冲突,coder.inline(总是)coder.inline(“不”)指令放在一个函数体覆盖此选项。有关更多信息,请参见不同的内联控件之间的相互作用

看到控制内联微调性能和生成的代码的可读性

内存完整性检查,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

生成的代码检测内存完整性侵犯并停止执行诊断消息。

生成的代码不违反完整性检测内存。

设置IntegrityChecks可以提高性能。然而,没有内存完整性检查、违规导致不可预测的行为。集IntegrityChecks只有如果你有验证数组边界检查和尺寸检查是不必要的。设置IntegrityChecks也禁用运行时堆栈。

看到控制运行时检查

指定的代码生成报告,自动打开这个表中的值。

价值 描述

这个值是默认值。

如果发生错误或警告,或者GenerateReport真正的代码生成器生成一个报告,但是不打开报告。

真正的 代码生成器产生并打开一个代码生成报告。

包含注释的MATLAB源代码生成的代码,在这个表指定为一个值。

价值 描述

这个值是默认值。

代码生成器不插入评论的MATLAB源代码生成的代码。代码生成器函数中不包括MATLAB函数签名横幅。

真正的

代码生成器插入MATLAB源代码生成的代码的注释。立即可追溯性标记之前的每一行源代码。可追溯性标记能帮助你找到相应的MATLAB源代码。看到跟踪生成的C / c++代码的MATLAB源代码

代码生成器还包括MATLAB函数签名的横幅。

依赖:

  • GenerateComments支持这个参数。

看到跟踪生成的C / c++代码的MATLAB源代码

最小大小,字节,memcpy或memset优化,指定为一个正整数。

连续复制数组元素的优化生成的代码,代码生成器试图替换的代码memcpy调用。生成的代码优化连续文字常量赋值给数组元素,代码生成器试图替换的代码memset调用。

的字节数是数组元素复制或分配的数量乘以所需的字节数C / c++的数据类型。

如果复制或分配的元素数量是可变的(在编译时不知道),代码生成器忽略了MemcpyThreshold财产。

看到memcpy优化memset优化

对象名称、指定为一个特征向量。

最大数量的CPU线程并行运行循环在生成的C / c++代码中,指定为一个正整数。

看到指定最大数量的线程运行并行for循环在生成的代码中

墨西哥人后命令自定义构建处理函数生成codegen,指定为一个特征向量。

看到构建流程定制

生成的代码使用n维索引、指定为这个表中的值之一。

价值 描述

使用一维索引生成代码。(该值是默认值)。

真正的 使用n维索引生成代码。

看到使用n维索引生成代码

变量名称保留在生成的代码中,指定为这个表中的值之一。

价值 描述
“没有”

这个值是默认值。

代码生成器没有保存任何变量的名字。它可以重用任何变量,变量满足要求重用。

如果你的代码使用大型结构或数组,设置PreserveVariableNames“没有”可以减少内存使用量或提高执行速度。

“用户名”

代码生成器保留名称对应MATLAB代码中定义的变量。它没有你的变量名替换为另一个名字,不使用你的名字为另一个变量。为了提高可读性,集PreserveVariableNames“用户名”。然后,您可以更容易地跟踪生成的代码中的变量回MATLAB代码中的变量。

设置PreserveVariableNames“用户名”不阻止删除变量的优化生成的代码或阻止C / c++编译器重用生成的二进制代码中的变量。

“所有”

保留所有变量名。这个参数值禁用变量重用。它只用于测试或调试,生产代码。

看到在生成的代码保存变量名

名字的变量导出代码生成的信息,指定为一个特征向量。代码生成器基MATLAB的工作区中创建这个变量。该变量包含代码生成的信息设置,输入文件,生成的文件,和代码生成的消息。

看到通过编程方式访问代码生成报告信息编码器。ReportInfo属性

潜在的差异报告,指定为这个表中的值之一:

价值 描述
真正的 代码生成器生成的代码报告潜在的行为差异和MATLAB代码。潜在的差异在选项卡列出代码生成报告。潜在的区别是不同的,发生在运行时只在特定条件下。
代码生成器不报告潜在的差异。

看到潜在的差异报告

名称列表的代码生成器不得使用函数或变量指定为一个字符串数组,单元阵列的特征向量,或字符向量。

保留多个名称,指定为这个表中的值之一。

价值 描述
字符串数组

一个字符串数组ReservedNameArray。例如,cfg。ReservedNameArray = [“reserve1”、“reserve2”,“reserve3”)

单元阵列的特征向量

一个细胞阵列的特征向量ReservedNameArray。例如,cfg。ReservedNameArray = {‘reserve1’,‘reserve2’,‘reserve3}

特征向量

一个用于保留名称的列表ReservedNameArray。例如,cfg。ReservedNameArray = ' reserve1; reserve2 reserve3”

请注意

在代码中指定多个条目配置对象通过使用特征向量将在未来的版本中被删除。使用字符串数组和单元阵列的特征向量。有关更多信息,请参见兼容性的考虑

响应性检查,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

您可以使用Ctrl + C停止执行生成的墨西哥人的功能。

结束一场旷日持久的墨西哥人功能,你可能不得不终止MATLAB。

使用GPU编码器时,代码生成器总是禁用这个参数。

看到控制运行时检查

生成的代码使用行阵列布局,指定为这个表中的值之一。

价值 描述

生成代码,使用数组列为主的布局。(该值是默认值)。

真正的 生成代码,使用行阵列布局。

看到生成代码,使用行阵列布局

整数溢出的支持,在这个表指定为一个金宝app值。

价值 描述
真正的

这个值是默认值。

代码生成器生成的代码来处理整数溢出。溢出的最小值或最大值,数据类型可以表示。

代码生成器不能产生代码来处理整数溢出。不设置SaturateOnIntegerOverflow除非你确信你的代码不依赖于整数溢出的支持。金宝app如果禁用启用了整数溢出支持和完整性检查,生成的代码会产生溢出的错金宝app误。如果你禁用整数溢出支持禁用完整性检查,溢出行为取决于您的目标C编金宝app译器。在C标准,整数溢出的行为是未定义的。然而,大多数C编译器包装上溢出。

这个参数只适用于MATLAB内置整数类型。它并不适用于双打、单身或定点数据类型。

看到禁用支持整数溢出金宝app或非限定的

最大堆栈使用每个应用程序,以字节为单位,指定为一个正整数。设定一个限制,低于可用的堆栈大小。否则,可能发生运行时堆栈溢出。C编译器检测和报告堆栈溢出。

看到控制堆栈空间的使用

语言生成的代码中使用,指定为“C”“c++”。如果指定c++代码生成器将C代码到. cpp文件中,这样您就可以使用一个c++编译器和接口与外部c++应用程序。它不生成c++类。

使用GPU编码器时,代码生成器TargetLangc++

依赖:如果DeepLearningConfig是集,codegenTargetLangc++

是否显示状态的代码生成的进步在MATLAB命令行,指定为这个表中的值之一。

价值 描述
“沉默”

如果代码生成成功没有警告,所有消息受到抑制,包括当你生成一个报告。

显示警告和错误消息。

“信息”

这个值是默认值。

相比“沉默”模式,如果代码生成成功,这些额外的信息显示:

  • 代码生成成功

  • 链接生成的报告,如果任何

“详细”

除了所示的消息“信息”模式,代码生成状态和目标构建显示日志消息。

例子

全部折叠

编写一个MATLAB函数可以生成代码。下面的例子使用了函数myadd返回输入的总和。

函数c = myadd (a, b) c = a + b;结束

为墨西哥人创建一个配置对象函数生成。

cfg = coder.config (墨西哥人的);

改变的值属性,您不想使用默认值。例如,使即时(JIT)编译。

cfg。EnableJIT = true;

通过使用生成代码codegen。通过配置对象codegen通过使用配置选择。指定输入参数是标量的两倍。

codegenmyadd配置cfgarg游戏{1}报告

选择功能

墨西哥人使用默认配置参数值函数生成,而不是创建一个配置对象,您可以调用codegen或不指定一个配置对象配置:墨西哥人选择。

版本历史

介绍了R2011a

全部展开

不推荐在R2022a开始

在未来的发布行为改变