Embedded C ++ ( EC ++ ) - это диалект языка программирования C++ для встраиваемых систем. Он был определен отраслевой группой, во главе с основными японскими производителями центральных процессоров (ЦП), включая NEC, Hitachi , Fujitsu и Toshiba, для устранения недостатков C++ для встроенных приложений. Целью работы [1] является сохранение наиболее полезных объектно-ориентированных возможностей языка C++ с одновременным минимизацией размера кода при максимальной эффективности выполнения и упрощении построения компилятора. Официальный веб-сайт заявляет о своей цели: «предоставить программистам встроенных систем подмножество C++, которое среднему программисту C легко понять и использовать». [2]
Встраиваемый C++ исключает некоторые возможности C++.
Возможность | ISO/ANSI C C++ | Встраиваемый C++ |
---|---|---|
Обработка исключений | Да | Нет |
Множественное наследование | Да | Нет |
изменяемый , спецификатор класса хранения | Да | Нет |
Пространства имен | Да | Нет |
Шаблоны | Да | Нет |
Динамическая идентификация типа данных (typeid) | Да | Нет |
Приведения типов (static_cast, dynamic_cast, reinterpret_cast and const_cast) |
Да | Нет |
Виртуальное наследование | Да | Нет |
Некоторые компиляторы, такие как компиляторы из Green Hills и IAR Systems, допускают включение определенных возможностей ISO/ANSI C++ в Embedded C++. IAR Systems называет это «Extended Embedded C++». [3]
Программа EC++ может быть скомпилирована любым компилятором C++. Однако компилятору, специфичному для EC++, легче проводить оптимизацию.
Компиляторы, специфичные для EC++, предоставляются такими компаниями, как:
Язык был плохо принят со многими опытными программистами C++. В частности, Бьёрн Страуструп говорит: «Насколько я знаю, EC ++ мертв (2004), и если нет, то так и должно быть».[7] Фактически, официальный сайт EC++ на английском языке не обновлялся с 2002 года. Тем не менее Apple, Inc. приняла в качестве эксклюзивного языка программирования ограниченное подмножество C++ (на основе Embedded C++) для создания всех драйверов устройств I/O Kit для операционных систем Apple Mac OS X и iOS популярного MacBook, iPhone. и продукты для iPad.[8] Инженеры Apple считали, что исключения, множественное наследование, шаблоны и функции информации о типах среды выполнения в стандартном C++ либо недостаточны, либо недостаточно эффективны для использования в высокопроизводительном многопоточном ядре.[9]
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .