WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

Embedded C ++ ( EC ++ ) - это диалект языка программирования C++ для встраиваемых систем. Он был определен отраслевой группой, во главе с основными японскими производителями центральных процессоров (ЦП), включая NEC, Hitachi , Fujitsu и Toshiba, для устранения недостатков C++ для встроенных приложений. Целью работы [1] является сохранение наиболее полезных объектно-ориентированных возможностей языка C++ с одновременным минимизацией размера кода при максимальной эффективности выполнения и упрощении построения компилятора. Официальный веб-сайт заявляет о своей цели: «предоставить программистам встроенных систем подмножество C++, которое среднему программисту C легко понять и использовать». [2]

Отличия от C++

Встраиваемый 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]

См. также

Примечания

  1. EC++ Rationale (англ.) (недоступная ссылка история).
  2. [EC++ Вопросы и ответы] (англ.)
  3. Embedded and Extended Embedded C++ (англ.). Проверено 9 декабря 2012. Архивировано 21 мая 2013 года.
  4. IAR Systems - Compilers and debuggers (англ.). IAR Systems website.
  5. Embedded C++ compiler technology (англ.). Tasking website. Архивировано 1 января 2009 года.
  6. Green Hills Optimizing C/C++/EC++ Compilers (англ.). Green Hills Software website. Архивировано 25 октября 2008 года.
  7. What do you think of EC++? (англ.). Страуструп, Бьёрн's FAQ.
  8. What is Mac OS X? (англ.). Amit Singh.
  9. The libkern C++ Runtime (англ.). IOKit Device Driver Design Guidelines.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии