Здравствуйте, vdimas, Вы писали:
V>Что ты понимаешь под "промышленной" разработкой?
Разработку ПО для
реальных задач. Которое
систематически применяется в соответствующих сферах, а не только лежит в репозиториях, демонстрируя сам факт своего наличия.
V>Если пользуешь Си, то для оперирования объявленными статическими данными (структурами, массивами) необходим CRT.
Как именно он необходим для оперирования ими?
V>выкинув CRT, можно взять камень с меньшим объёмом ПЗУ/ОЗУ
Ну так понятно же, что
стандартный CRT в
любой реализации
всегда будет заточен первым делом под максимальную простоту использования, а не максимальную эффективность. И преимущество C/C++ в том, что выкинуть/переделать его CRT в среднем проще, чем для любого другого ЯВУ. А еще лучше было бы иметь хоть в стандарте, хоть в документации конкретной реализации, внятную спецификацию CRT, чтоб можно было им управлять осмысленно, а не наугад.
V>Еще скажи через сишную инициализацию глобальных переменных вида
Не скажу.
V>почти всегда микроконтроллеры выполнены по гарвардской ахитектуре, а не по фон-неймановской, с которой ты писал этот пост.
Это Вы с чего взяли?
V>в фон-неймановской архитектуре, проинициализированная глобальная переменная не требует лишнего кода, потому что в бинарном образе уже хранятся данные ровно так, как описаны в сниппете выше, т.е. загрузку этих данных выполняет внешний загрузчик. Но в микроконтроллере инициализацию переменной s должен выполнять код, прошитый в микрик — и ситуация резко меняется, не так ли?
Если именно так, как Вы написали, то да. Но я, разумеется, подразумевал не это. Коль Вы знакомы с разными реализациями, то должны знать, как это делается в норме.