michaelmel
Определение встроенного программного обеспечения несколько расширилось, включив разработку на платформах, использующих различные версии UNIX, уже перенесенные и предоставленные разработчикам как часть пакета разработки.
Если это так, то вы, скорее всего, будете использовать GNU C/C++. Однако я не считаю это встроенной системой.
Плюс у вас есть Android, плюс вы получаете Windows CE, так что границы того, что "встроено", несколько размыты (особенно в объявлениях о работе :))
Несмотря на вышесказанное, все еще имеет место тот факт, что 90% или более классических проектов встроенного системного программного обеспечения с голыми костями написаны на языке C.
Причины, по которым это произошло:
C++ имеет тяжеловесную среду выполнения, и перенос на новую платформу потребует изрядной работы, прежде чем вы даже начнете кодировать приложение (примеры - обработка исключений);
Кросс-компиляторы C++ обычно менее зрелые. Наличие проблемы с компилятором-это последнее, что вы хотите в встроенном проекте, поэтому выбирайте с умом;
Хорошие Кросс-компиляторы C чрезвычайно зрелы и генерируют феноменально эффективный код (что важно для среды реального времени);
Embedded C++ (EC++) еще не взлетел и не будет, на мой взгляд;
Масштаб проекта обычно таков, что преимущества C++ не так очевидны, как для разработки настольных или мобильных приложений.
В целом, придерживайтесь буквы "С", вы не можете ошибиться.