Общий размер локальных переменных в функции, принимая вложенные осциллографы во внимание
Эта метрика обеспечивает оптимистическую оценку общего размера локальных переменных в функции. Метрика является суммой следующих размеров в байтах:
Размер функционального возвращаемого значения
Размеры параметров функции
Размеры локальных переменных
Предположим, что функция имеет определения переменной во вложенных осциллографах можно следующим образом:
type func (type param_1, ...) {
{
/* Scope 1 */
type var_1, ...;
}
{
/* Scope 2 */
type var_2, ...;
}
}Переменная, заданная во вложенном осциллографе, не отображается вне осциллографа. Поэтому некоторое стековое пространство повторного использования компиляторов для переменных задано в отдельных осциллографах. Эта метрика обеспечивает более точную оценку использования стека для таких компиляторов. В противном случае используйте метрический Higher Estimate of Local Variable Size. Эта метрика добавляет размер всех локальных переменных, заданы ли они во вложенных осциллографах.
Дополнительное дополнение введено для выравнивания памяти
Ваше фактическое использование стека из-за локальных переменных может отличаться от метрического значения.
Некоторые переменные хранятся в регистрах вместо на стеке.
Ваш компилятор выполняет переменный анализ живучести, чтобы включить определенную оптимизацию памяти. При вычислении этой метрики Polyspace® не рассматривает эту оптимизацию.
Ваш компилятор использует дополнительную память во время вызова функции. Например, компиляторы хранят адрес, к которому выполнение возвращается после вызова функции. При вычислении этой метрики Polyspace не рассматривает это скрытое использование памяти.
Однако метрика обеспечивает обоснованную оценку использования стека из-за локальных переменных.
Чтобы определить размеры основных типов, программное обеспечение использует ваши технические требования для Target processor type (-target). Метрика также учитывает #pragma pack директивы в вашем коде.
| Группа: Функция |
Акроним: LOCAL_VARS_MIN |
| Метрика HIS: нет |