PDA

Просмотр полной версии : [Вопрос] Результат компиляции



DmitriyVasilev
05.03.2019, 19:13
Здравствуйте, компилятор выдал данные о памяти ( -d3 )
Header size: 19816 bytes
Code size: 3359060 bytes
Data size: 3027352 bytes
Stack/heap size: 16384 bytes; estimated max. usage=4999 cells (19996 bytes)
Total requirements: 6422612 bytes
Я не разбираюсь, но плохо ли здесь всё или норм?

DeimoS
05.03.2019, 23:13
Стэк переполнен
Stack/heap size: 16384 bytes; estimated max. usage=4999 cells (19996 bytes) // Используется 19996 байт, а выделено только 16384
Это приведёт к ошибке при выполнении кода, в котором происходит переполнение стэка и весь дальнейший код функции обработан не будет.
Чтоб исправить, нужно нормально пересчитать размер локальных переменных. Если их размер указан правильно, то использовать
#pragma dynamic
для увеличения выделенного стэка


В остальном сказать ничего толком нельзя

DmitriyVasilev
06.03.2019, 17:48
а как узанть кол-во какое нужно вообще для pragma dynamic?
Если даже сосчитал нормально ячейки, но все равно есть переполнение, как избавиться от него кроме прагмы.

DeimoS
06.03.2019, 20:31
Ну сейчас у тебя используется 4999 ячеек. Значит прописать нужно где-то

#pragma dynamic 5300
Хотя лучше всё же чисткой заняться.