exponenta event banner

Настройка выделения пространства стека

Приложение может быть ограничено ограниченной памятью. Управление максимально допустимым размером стека является одним из способов изменения определения данных как локальных или глобальных в сгенерированном коде. Можно ограничить использование пространства стека, указав положительное целое значение для параметра Максимальный размер стека (байт) на панели Оптимизация (Optimization) диалогового окна Параметр конфигурации (Configuration parameter). Задание максимально допустимого размера стека обеспечивает управление количеством локальных и глобальных переменных в созданном коде. В частности, уменьшение максимального размера стека может создать больше переменных в глобальных структурах. Количество локальных и глобальных переменных помогает определить необходимый объем пространства стека для выполнения созданного кода.

Значение по умолчанию для параметра Максимальный размер стека (байт): Inherit from target. В этом случае значением максимального размера стека является меньшее значение следующего: значение по умолчанию, установленное генератором кода (200 000 байт) или значение переменной TLC MaxStackSize найден в целевом файле системы (ert.tlc).

Чтобы указать меньший размер стека для приложения, выберите Specify a value параметра Максимальный размер стека (байт) и введите положительное целое значение. Чтобы указать меньший размер стека в командной строке, используйте:

set_param(model_name, 'MaxStackSize', 65000);

Примечание

Для общих показателей использования исполняемого стека может потребоваться измерение, специфичное для цели, например, использование анализа во время выполнения (эмпирического) или статического анализа (пути кода) с кодом объекта.

Рекомендуется использовать параметр Максимальный размер стека (байт) для управления распределением пространства стека вместо изменения переменной TLC. MaxStackSize, в системном целевом файле. Однако целевому автору может потребоваться задать переменную TLC, MaxStackSize, для цели. Установить MaxStackSize, использовать assign инструкции в системном целевом файле (ert.tlc), как в следующем примере.

%assign MaxStackSize = 4096

Напишите свой %assign операторы в Configure RTW code generation settings раздел целевого файла системы. %assign описана в компиляторе целевого языка.

См. также

Связанные темы