主要内容

coder.mexconfig

为使用代码加速度配置对象fiaccel

描述

一个coder.MexConfig对象包含的所有配置参数fiaccel函数使用时加速定点通过墨西哥人函数生成代码。使用这个对象,首先使用创建它coder.mexconfig函数,然后将其传递给fiaccel函数使用配置选择。

创建

描述

例子

cfg= coder.mexconfig创建一个coder.MexConfig为使用代码生成对象fiaccel,它生成一个墨西哥人的功能。

属性

全部展开

一个函数的副本数量允许在生成的代码编译时递归,指定为一个整数。在MATLAB不允许递归®代码,设置CompileTimeRecursionLimit0。默认编译时递归限制足够高对于大多数需要编译时的递归函数递归。如果代码生成失败,因为编译时递归限制,和你想要编译时递归,试图增加的极限。另外,改变你的MATLAB代码,代码生成器使用运行时递归。

最大数量的指令执行的常数文件夹,指定为一个正整数。

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

价值 描述
“CheckValues”

这个值是默认值。

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

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

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

“IgnoreValues”

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

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

“删除”

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

此选项提供向后兼容性。

看到在墨西哥人函数常数输入检查(MATLAB编码器)

为适应动态内存分配数据,指定这些值之一:

  • “阈值”-启用动态内存分配所有适应可变数组的大小大于DynamicMemoryAllocationThresholdfiaccel在堆上分配内存的动态适应可变数据。

  • “AllVariableSizeArrays”——所有动态适应可变数组在堆上分配内存。你必须对所有无限适应可变数据使用动态内存分配。

  • “关闭”——静态地分配内存堆栈。

你必须对所有无限适应可变数据使用动态内存分配。

依赖关系:

  • EnableVariableSizing支持这个参数。

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

请注意

DynamicMemoryAllocation配置选项将在未来的版本中被删除。动态地分配内存大小可变的数组,使用EnableDynamicMemoryAllocation选择。要设置阈值,可以使用DynamicMemoryAllocationThreshold选择。

动态内存分配固定大小的数组,指定为这个表中的值之一。

价值 描述
真正的

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

这个值是默认值。

静态代码生成器为固定大小的数组在堆栈上分配内存。

依赖:

  • 设置EnableDynamicMemoryAllocation真正的启用这个选项。

看到的,控制动态内存分配固定大小的数组(MATLAB编码器)

阈值的大小适应可变数组上面fiaccel在堆上分配内存,指定为一个整数。

依赖:

  • 设置EnableDynamicMemoryAllocation真正的支持这个参数。

是否fiaccel将常见的可视化功能视为外在功能,指定为真正的。当启用该选项时,fiaccel检测到调用许多常见的可视化功能,例如情节,disp,。它调用MATLAB为这些函数。此功能可以减少代码的时间,你花适合代码生成。它还消除了要求声明这些外在的使用功能coder.extrinsic函数。

是否显示结果的代码不与分号终止,指定为真正的

将此属性设置为真正的结果代码指令,不要用分号终止MATLAB命令窗口中出现。如果你设定这个属性,代码的结果不会出现在MATLAB命令窗口。

是否允许递归函数在生成的代码中,指定为真正的。如果你的MATLAB代码需要运行时递归和该参数,代码生成失败。

是否要编译生成的代码在调试模式下,指定为真正的

将此属性设置为真正的在调试模式下编译生成的代码。将此属性设置为在正常模式编译代码。

为适应可变数组动态内存分配,指定为这个表中的值之一。

价值 描述
真正的

这个值是默认值。

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

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

是否启用隐式扩张能力在生成的代码中,指定为真正的

将此属性设置为真正的启用隐式扩张在生成的代码中。代码生成器包括在生成的代码修改应用隐式扩张。看到兼容数组大小的基本操作。将此属性设置为所以生成的代码不遵守规则的隐式扩张。

是否启用支持大小可变的数组,指定为金宝app真正的

将此属性设置为真正的让支持大小可变的数组金宝app和启用DynamicMemoryAllocation财产。如果你设定这个属性不支持,大小可变的数组。金宝app

一个外部函数是一个函数的MATLAB路径生成的代码将MATLAB软件来执行。fiaccel不外在功能编译或生成的代码。将此属性设置为真正的fiaccel生成代码的调用MATLAB函数,但不生成函数内部的代码。将此属性设置为fiaccel忽略的外在功能,而不是生成代码调用MATLAB函数。如果非本征函数影响的输出fiaccel出现编译错误。

ExtrinsicCalls影响到墨西哥人建造的功能fiaccel当使用MATLAB生成随机数兰德,兰迪,randn功能。如果启用了外部调用,生成的墨西哥人全球随机数流函数使用MATLAB生成随机数。如果未启用外部调用,墨西哥人函数了fiaccel使用一个独立的随机数发生器。

如果您禁用外部调用,生成的墨西哥人函数不能显示运行时信息错误断言语句在MATLAB代码中。墨西哥人函数报告说,它不能显示错误消息。看到错误消息,使外部函数调用和函数生成墨西哥人。

是否要创建一个HTML代码生成报告,指定为真正的

墨西哥人与MATLAB函数全局数据同步全球工作区,指定这些值之一:

  • SyncAlways——全球数据同步墨西哥人函数入口和出口之间的所有外部调用,以确保最大限度的一致性和MATLAB和生成的墨西哥人功能。如果外部调用不影响全局数据,该选项结合使用coder.extrinsic同步:了选择关闭同步这些调用最大化性能。

  • SyncAtEntryAndExits只在墨西哥人——全球数据同步功能入口和出口。如果您的代码包含外部调用,但只有少数影响全局数据,该选项结合使用coder.extrinsic同步:选择打开同步这些调用最大化性能。

  • NoSync——不同步发生。确保你的墨西哥人不与MATLAB函数全局禁用同步之前,否则可能发生MATLAB和墨西哥人函数之间的不一致性。

数据类型:字符

堆栈大小限制为内联函数,指定为一个正整数。

最大尺寸的函数内联,指定为一个正整数。

最大尺寸的内联函数后,指定为一个正整数。

将此属性设置为真正的发现任何违反内存完整性在MATLAB生成的代码。当检测到违反时,执行停止,将显示诊断消息。将此属性设置为禁用内存完整性检查和运行时堆栈。

是否要打开时自动代码生成HTML代码生成报告完成后,指定为真正的。这个属性只适用于如果你设置GenerateReport财产真正的

是否报告生成的代码和MATLAB代码之间潜在的行为差异,指定为真正的。如果ReportPotentialDifferences属性设置为真正的代码生成报告,有一个选项卡列出潜在的差异。潜在的区别是不同的,发生在运行时只在特定条件下。

是否启用响应性检查,指定为真正的

是否饱和整数溢出,指定为真正的。溢出的最小值或最大值,数据类型可以表示。将此属性设置为真正的溢出饱和。将此属性设置为有溢出包装通过适当的值表示的字符数据类型。

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

例子

全部折叠

这个例子展示了如何使用coder.mexconfig函数创建一个coder.MexConfig配置对象。对象设置为禁用运行时检查。

cfg = coder.mexconfig;

关闭完整性检查,外部调用,和响应性检查。

cfg。IntegrityChecks = false;cfg。ExtrinsicCalls = false;cfg。ResponsivenessChecks = false;

使用fiaccel函数来生成一个墨西哥人函数文件foo.m

fiaccel配置cfg喷火

版本历史

介绍了R2011a

全部展开