自定义堆栈空间分配

您的应用程序可能会被有限的内存的限制。控制堆栈的最大允许大小是修改数据是否被定义为在所生成的代码的局部或全局的一种方式。您可以通过指定一个正整数限制使用的堆栈空间最大堆栈大小(字节)参数,在优化配置参数对话框中的窗格。指定最大可允许的堆栈大小提供了在生成的代码局部和全局变量的数量的控制。具体而言,降低了最大堆栈大小可能会产生更多的变量为全局结构。局部和全局变量的数量帮助确定生成的代码的执行所需的栈空间量。

默认设置为最大堆栈大小(字节)从目标继承。在这种情况下,最大堆栈大小的值是以下中的较小值:由代码生成的默认值组(200,000字节)或TLC变量的值MaxStackSize在系统目标文件中找到(ert.tlc)。

要为您的应用程序中指定一个较小的堆栈大小,选择指定值的选择最大堆栈大小(字节)参数,并输入一个正整数值。以指定在命令行更小的堆大小,使用:

set_param(型号名称, 'MaxStackSize',65000);

注意

对于整体的可执行堆栈使用的指标,你可能想要做一个目标特定的测量,如使用运行时(实证)分析或静态(代码路径)分析目标代码。

建议您使用最大堆栈大小(字节)参数来控制的,而不是修改TLC变量堆栈空间的分配,MaxStackSize在系统目标文件。然而,目标作者可能要设置的TLC变量,MaxStackSize为目标。设置MaxStackSize, 用分配在系统目标文件的语句(ert.tlc),如在下面的例子。

%分配MaxStackSize = 4096

写你的%分配在声明配置RTW代码生成设置系统目标文件的部分。该%分配声明中描述目标语言编译器

也可以看看

相关话题