Jump to content

Встроенный С++

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

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

[ редактировать ]

Встроенный C++ исключает некоторые возможности C++.

Особенность ISO/ANSI С С++ Встроенный С++
Обработка исключений Да Нет
Множественное наследование Да Нет
mutable, спецификатор класса хранения Да Нет
Пространства имен Да Нет
Шаблоны Да Нет
Информация о типе времени выполнения ( typeid) Да Нет
Стиль каста
( static_cast, dynamic_cast, reinterpret_cast, и const_cast)
Да Нет
Виртуальные базовые классы Да Нет

Некоторые компиляторы, например от Green Hills и IAR Systems, позволяют включать определенные функции ISO/ANSI C++ во встроенный C++. IAR Systems называет это «Расширенный встроенный C++». [ 3 ]

Программа EC++ может быть скомпилирована любым компилятором C++. Но компилятору, специфичному для EC++, может быть проще выполнить оптимизацию.

Компиляторы, специфичные для EC++, предоставляются такими компаниями, как:

Этот язык был плохо принят многими опытными программистами C++. В частности, Бьерн Страуструп говорит: «Насколько мне известно, EC++ мертв (2004 г.), а если нет, то так и должно быть». [ 7 ] Фактически, официальный сайт EC++ на английском языке не обновлялся с 2002 года. Тем не менее, ограниченное подмножество C++ (основанное на Embedded C++) было принято Apple Inc. в качестве эксклюзивного языка программирования для создания всех драйверов устройств I/O Kit для Операционные системы Apple macOS, iPadOS и iOS для популярных продуктов Macintosh, iPhone и iPad. [ 8 ] Инженеры Apple считали, что исключения, множественное наследование, шаблоны и функции информации о типах во время выполнения стандарта C++ либо недостаточны, либо недостаточно эффективны для использования в высокопроизводительном многопоточном ядре. [ 9 ]

  1. ^ «Обоснование EC++» .
  2. ^ Вопросы и ответы EC++
  3. ^ «Встроенный и расширенный встроенный C++» . Архивировано из оригинала 21 мая 2013 года . Проверено 9 декабря 2012 года .
  4. ^ «IAR Systems — Компиляторы и отладчики» . Сайт компании «ИАР Системс» .
  5. ^ «Технология встроенного компилятора C++» . Сайт с заданием . Архивировано из оригинала 1 января 2009 г.
  6. ^ «Green Hills Оптимизация компиляторов C/C++/EC++» . Веб-сайт программного обеспечения Green Hills . Архивировано из оригинала 25 октября 2008 г.
  7. ^ «Что вы думаете об EC++?» . Бьярна Страуструпа Часто задаваемые вопросы .
  8. ^ «Что такое Mac OS X?» . Амит Сингх . Архивировано из оригинала 19 апреля 2019 г. Проверено 4 марта 2015 г.
  9. ^ «Среда выполнения libkern C++» . Рекомендации по разработке драйверов устройств IOKit .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c1782de8c7acfbba2739d83bdb2f8254__1672625640
URL1:https://arc.ask3.ru/arc/aa/c1/54/c1782de8c7acfbba2739d83bdb2f8254.html
Заголовок, (Title) документа по адресу, URL1:
Embedded C++ - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)