文档

设置阈值动态内存分配

这个例子展示了如何为适应可变数组指定动态内存分配的阈值。动态内存分配优化适应可变数组的存储需求,但会导致慢执行生成的代码。而不是禁用所有适应可变数组动态内存分配,你可以禁用动态内存分配数组小于一定规模。

指定这个阈值,当你想:

  • 禁用动态内存分配较小的数组。对于较小的数组,静态内存分配可以加快生成的代码。静态内存分配会导致未使用的存储空间。然而,你可以决定,未使用的存储空间并不是一个重要的考虑更小的数组。

  • 启用动态内存分配对于较大的数组。对于较大的数组,使用动态内存分配时,可以大大降低存储需求。

设置阈值使用动态内存分配MATLAB编码器应用程序

  1. 打开生成对话框,在生成代码页面,点击生成箭头

  2. 点击更多的设置

  3. 内存选项卡中,选择使适应复选框。

  4. 动态内存分配达到或超过阈值数组的最大大小

  5. 动态内存分配的阈值你想要的价值。

    动态内存分配的阈值值是用字节。基于信息从目标硬件设置、软件估计某个值的数组的大小DynamicMemoryAllocationThreshold可以容纳。这个估计不包括可能的C编译器优化等变量在寄存器中。

阈值在命令行设置动态内存分配

  1. 创建一个配置对象的代码生成。使用coder.config使用参数“自由”,“dll”,或exe”(取决于您的需求)。例如:

    cfg = coder.config(“自由”);
  2. DynamicMemoryAllocation“阈值”

    cfg.DynamicMemoryAllocation =“阈值”;
  3. 设置属性,DynamicMemoryAllocationThreshold你想要的价值。

    cfg。DynamicMemoryAllocationThreshold = 40000;

    中存储的值DynamicMemoryAllocationThreshold以字节。基于信息从目标硬件设置、软件估计某个值的数组的大小DynamicMemoryAllocationThreshold可以容纳。这个估计不包括可能的C编译器优化等变量在寄存器中。

相关的例子

更多关于

这个主题有帮助吗?