> -- Jordan писал(а):
> Расскажите подробнее, каким компилятором пользуетесь
Этим.

> -- Jordan писал(а):
> и какие по масштабам проекты пишите
В основном системы автоматического управления. ~20000 строк исходных текстов.

> -- Jordan писал(а):
> Используете ли техники оптимизации
В основном оптимизация на верхнем уровне, в архитектуре программы, алгоритмическая.

> -- Jordan писал(а):
> Для каких микроконтроллёров пишите
Сейчас для NXP LPC2378.

> -- Jordan писал(а):
> Как пример. На си массив это просто указатель на память. Стандартно узнать размер дин выделенного блока невозможно, длина массива передаётся явно. От того при работе со строками, размер массива нужно передавать как параметр, strncpy, так как если '\0' символ не будет найден, комбайнер начнёт пахать соседский участок с капустой.  В обероне, массив хранит свой размер всегда. Конечно, это не меняет архитектуру, но способствует лучшему нахождению ошибок.
В программах для микроконтроллеров не пользуюсь динамической памятью. И строки там не нужны