ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
26 апреля
304145 Топик полностью
fk0, легенда (02.02.2012 21:49, просмотров: 234) ответил Михаил Е. на Не вижу смысла в микроконтроллерах применять malloc вообще. Ведь тебя же не смущает что программа зашита во флешь по жестко заданным адресам? Почему для переменных должно быть по другому? Глобальные переменные размещены статически, локальные - в
А чем микроконтроллеры отличаются от программ на PC? В момент исполнения тоже всё по фиксированным адресам и т.п. Про много программ -- чушь. У разных программ разные адресные пространства (если говорить о unix, например, отдельный процесс мало чем отличается от микроконтроллера). Зачем malloc -- очевидно. Когда физически одну группу ячеек памяти в один момент времени хочется использовать под что-то одно, а в другой момент времени под что-то другое. И "программа одна" весьма условное утверждение: она находится в разных состояниях в разные моменты времени и вовсе может состоять из относительно слабо связанных между собой задач. А если всё распределять статически -- памяти нужно просто в несколько раз больше, что невозможно. И проблема отказа в malloc() надуманная. Ну откажет. Ну вернёт ошибку или попытается позже в другой раз. А там где шибко критично -- можно или статически действительно выделить, или через тот же malloc(), но до начала критичной работы.
[ZX]