Удалите внутренние данные нули инициализации

Описание

Задайте, нужно ли сгенерировать код инициализации для внутренних рабочих структур, таких как состояния блока и выходы блоков, в нуле.

Category: оптимизации

Настройки

По умолчанию: Когда параметр Code interface packaging установлен в Nonreusable function, флажок Remove internal data zero initialization установлен и в командной строке, ZeroInternalMemoryAtStartup установлено в 'off' . Когда параметр Code interface packaging установлен в Reusable function или C++ Classфлажок Remove internal data zero initialization снят и ZeroInternalMemoryAtStartup установлено в 'on' .

На

Не генерирует код, который инициализирует внутренние рабочие структуры до нуля.

Во время запуска совместимые со стандартом компиляторы C и C++ инициализируют глобальные данные до нуля, устраняя необходимость включать нулевой код инициализации для этих данных в сгенерированный код. Совместимые со стандартами компиляторы не обязательно инициализируют динамически выделенные данные и локальные переменные в нуле. Прежде чем оставить выбранный параметр Remove internal data zero initialization, подтвердите, что ваша модель соответствует следующим условиям:

  • Если ваш компилятор не соответствует стандартам, подтвердите, что он инициализирует глобальные данные в нуле.

  • Если вы устанавливаете Code Interface packaging равной Reusable function или C++ class, подтвердите, что данные выделены статически или что динамически выделенные данные инициализированы в нуль.

Прочь

Генерирует код, который инициализирует внутренние рабочие структуры до нуля.

Флажок Remove internal data zero initialization снят и ZeroInternalMemoryAtStartup установлено в 'on' и доступен только для чтения для модели, в которой параметр Code interface packaging установлен в C++ class и выбран параметр Использовать динамическое выделение памяти для инициализации модели.

Если вы устанавливаете параметр Code interface packaging равным Reusable function и выберите параметр Использовать динамическое выделение памяти для экземпляра блока модели, флажок Remove internal data zero initialization снят и ZeroInternalMemoryAtStartup установлено в 'on'.

Примечание

Сгенерированный код не инициализирует данные, класс памяти которых имеет импортированные возможности.

Зависимости

  • Этот параметр появляется только для целей, основанных на ERT.

  • Этот параметр требует Embedded Coder® лицензия при генерации кода.

Информация о командной строке

Параметр: ZeroInternalMemoryAtStartup
Значение: 'off' | 'on'
По умолчанию: 'off'

Примечание

Значения в командной строке являются противоположными значениям настроек. Поэтому 'on' в командной строке соответствует описанию «Off» в разделе настроек. 'off' в командной строке соответствует описанию «On» в разделе настроек.

Рекомендуемые настройки

ПриложениеНастройка
ОтладкаНикакого влияния
ТрассируемостьНикакого влияния
ЭффективностьOn (GUI), off (командная строка), (выполнение, ПЗУ), без влияния (ОЗУ)
Меры безопасностиНет рекомендации

Похожие темы