Большое разнообразие существующих сегодня языков программирования порождает вопросы стандартизации. При этом узко специализированные спецификации могут только адаптироваться под конкретные задачи. Именно так сейчас и происходит в «мире встроенного ПО», где доминирующими языками являются C и C ++: ни один из этих языков не был разработан специально для встроенного программирования, но при этом они активно используются, т. к. отвечают потребностям разработчиков.
Встроенные директивы компилятора — #pragma.
Несмотря на то, что встроенные директивы довольно гибкие, полученный в результате код может подходить не для всех компиляторов.
Возможности линкера.
Разработчики встроенного ПО часто сталкиваются с проблемой расположения кода/данных в памяти, когда необходимо создать схему аппаратной конфигурации. Линкер в таком случае является незаменимым инструментом, поскольку решает проблему, обычно игнорируемую языками программирования.
Источник: http://embedded-computing.com/guest-blogs/a-language-fit-for-embedded/