ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
869468 Топик полностью
fk0, легенда (07.09.2018 11:57, просмотров: 132) ответил VLLV на Господа программисты, философский вопрос, а заоптимизирует ли компилятор (ИАР) размер стека под динамические переменные внутри функции, если они одновременно не используются? Пропадание динамической переменной в отладчике после ее использования
Тут есть ньюансы. В общем случае компилятор не знает, когда ячейка памяти выделенная под переменную прекращает использоваться если, например, брался адрес этой ячейки. Тогда она должна сохраняться до конца блока или функции. Если адрес не брался, то gcc, например, имеет специальную опцию (нужно отдельно включать), чтоб в одну ячейку класть разные переменные, если одна перестала использоваться например, но появилась другая. Но обычно такого нет. Ибо экономия на спичках, трудности в отладке и, если берётся адрес, вообще нельзя так делать (потому, что ты потом неизвестно откуда и когда по этому адресу обратиться можешь, по крайней мере до конца блока или функции, имеется ввиду из параллельного потока, прерывания и т.п.)
[ZX]