Объектно-ориентированный отлично подходит для встраиваемых систем.Основное внимание уделяется инкапсуляции, сокрытию данных и совместному использованию кода.Можно иметь объектно-ориентированные встроенные системы без разделения или динамического выделения памяти.
Разделение и динамическое распределение памяти являются врагами встроенных систем независимо от объектно-ориентированного, ориентированного на данные или процедурного программирования.Эти концепции могут или не могут быть использованы при реализации объектно-ориентированных проектов.
Object Oriented позволяет классу UART передавать экземпляры объектов Message, не зная содержимого объектов Message.Сообщение может быть базовым классом и иметь несколько классов-потомков.
Язык C ++ помогает продвигать безопасное кодирование во встроенных системах, позволяя конструкторам, конструкторам копирования и деструкторам, что запомнилось бы только во встроенных системах языка C с наивысшей дисциплиной.
Обработка исключений - это тоже боль при работе на языке Си.C ++ предоставляет лучшие возможности, встроенные в язык.
Язык C ++ предоставляет шаблоны для написания общего кода для обработки различных типов данных.Классическим примером является кольцевой буфер или круговая очередь.В языке C нужно было бы использовать «указатели на аннулирование», чтобы можно было передать любой объект.C ++ предлагает шаблон, чтобы можно было написать класс Circular_Queue, который работает с различными типами данных и имеет лучшую проверку типов во время компиляции.
Наследование позволяет улучшить совместное использование кода.Общий код делится на базовый класс, и дочерние классы могут быть созданы с одинаковыми функциями;через наследство.
Язык Си предоставляет указатели на функции.Языки C ++ предоставляют возможности для объектов функций (указатели на функции с атрибутами).
Извините, мне просто не нравятся люди, которые ограничивают встраиваемые системы языком C из-за слухов и небольшого количества знаний и опыта работы с C ++.