ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
3 мая
1407351 Топик полностью
BlackMorda, мудак (25.02.2024 19:06, просмотров: 146) ответил VladislavS. на Вдруг компилятор вычислит размер стека по самой большой структуре и сократит размер выделяемого стека? - Что бедный компилятор может сделать, если функция в одной единице трансляции, а структура создаётся на стеке в другой? Чтобы такого не было структура должна быть константой (в идеале constexpr или вообще просто тип), а код функции доступен в месте вызова (в идеале статический метод шаблонного класса). Вот тогда будет вам оптимизация.
Как раз в одной 

Начало функции такое

void TIM8_init(void)

{

LL_TIM_InitTypeDef TIM_InitStruct;

LL_TIM_OC_InitTypeDef TIM_OC_InitStruct;

LL_GPIO_InitTypeDef gpio_initstruct;


Далее идет настройка таймера, периферии его выхода и собственно вывода.

Все структуры временные, поэтому и создаются в стеке, после выхода из функции стек очищается.


По этому я считаю, что нужно подсказывать компилятору.