ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
90779 Топик полностью
=AlexD= (05.06.2007 15:56, просмотров: 1) ответил Axl на Что есть компилированный стек?
В доке на Keil есть описание. Коротко, по причине отсутствия нормального стека, часть ОЗУ выделяется под временные переменные а компилятор следит, чтобы они не перекрывались во время исполнения (строит дерево вызовов ф-ий). Так что ты видишь распределение временных переменных, а не глобальных. Почему используется память а не регистры - скорее всего так быстрее, чем копировать туда-сюда. Скорее всего регистры выделяются для временных значений при вычислении выражений. Либо наоборот, оптимизация выключена, и компилятор пихает всё в "стек". Эх, давно не брал я в руки шашек (MCS51)... Если ты пользуешь вызов ф-ий по указателю, то линкеру нужно сообщить, из каких ф-ий, какие могут вызываться, иначе всё может накрыться медным тазом.