Цитата(defunct @ Sep 29 2006, 02:50)

Цитата(aesok @ Sep 27 2006, 14:37)

Язык 'C ' как раз и был придуман для того чтобы избавить програмиста от ручного распределения переменных в памяти и переложить это на компилятор и линкер.
Когда используется шина внешней памяти и по некоторым фиксированным адресам располагаются регистры внешних I/O устройств, то без ручного распределения просто нельзя обойтись...
Ручного распределения действительно не избежать. То ли это будет назначение адресов в каком-нибудь выделенном сегменте, то ли определение переменных каждую в свой сегмент.
В любом случае линкеру (или программисту) работы прибавится.
Что же касается высокоуровневости языка С, то когда речь идёт о встроенных системах, то абсолютного абстрагирования от аппаратуры и её особенностей как правило не избежать. Об этом уже очень много писали.
Главное здесь, чтобы все подобные особенности были определены единожды (hal, bsp, называйте это как хотите) и доступны через заголовочные файлы. В этом случае никакого противоречия с С нет.