Ендірілген C ++ - Embedded C++

Ендірілген C ++ (EC ++) Бұл диалект туралы C ++ арналған бағдарламалау тілі ендірілген жүйелер. Мұны ірі жапондар бастаған салалық топ анықтады Орталық процессор (CPU) өндірушілер, оның ішінде NEC, Хитачи, Фудзитсу, және Toshiba, ендірілген қосымшалар үшін C ++ кемшіліктерін жою. Күштің мақсаты[1] ең пайдалысын сақтау болып табылады объектіге бағытталған C ++ тілінің ерекшеліктері, сонымен бірге орындау тиімділігі мен максимумды көбейту кезінде кодтың өлшемін азайтады құрастырушы қарапайым құрылыс. Ресми веб-сайтта «ендірілген жүйелік бағдарламашыларға орташа С бағдарламашыға түсінуге және қолдануға оңай болатын C ++ ішкі жиынтығын беру» деп көрсетілген.[2]

C ++ айырмашылықтары

Ендірілген C ++ C ++ кейбір мүмкіндіктерін жоққа шығарады.

ЕрекшелікISO / ANSI C C ++Ендірілген C ++
Ерекше жағдайларды өңдеуИәЖоқ
Бірнеше мұрагерлікИәЖоқ
өзгеретін, а сақтау класының спецификаторыИәЖоқ
Атаулар кеңістігіИәЖоқ
ҮлгілерИәЖоқ
Жұмыс уақыты туралы ақпарат (типид)ИәЖоқ
Стиль құйды
(статикалық_каст, динамикалық_каст, reinterpret_cast, және const_cast)
ИәЖоқ
Виртуалды базалық сабақтарИәЖоқ

Кейбір компиляторлар, мысалы, Green Hills және IAR Systems сияқты, ISO / ANSI C ++ кейбір мүмкіндіктерін Embedded C ++ бағдарламасында қосуға мүмкіндік береді. IAR жүйелері мұны «Кеңейтілген ендірілген C ++» деп атайды.[3]

Жинақ

EC ++ бағдарламасын кез-келген C ++ компиляторымен құрастыруға болады. Бірақ EC ++ компиляторына оңтайландыру оңайырақ болуы мүмкін.

EC ++ үшін компиляторларды келесі компаниялар ұсынады:

Сын

Тіл көптеген C ++ бағдарламашыларымен нашар қабылданды. Сондай-ақ, Bjarne Stroustrup дейді: «Менің білуімше EC ++ қайтыс болды (2004), егер олай болмаса, олай болмауы керек».[7] Шын мәнінде, ресми EC ++ веб-сайты 2002 жылдан бері жаңартылмаған. Соған қарамастан, C ++ шектеулі ішкі жиынтығы (Embedded C ++ негізінде) қабылданған Apple Inc. бәрін жасау үшін эксклюзивті бағдарламалау тілі ретінде I / O жиынтығы танымал Macintosh, iPhone және iPad өнімдерінің Apple macOS, iPadOS және iOS амалдық жүйелеріне арналған құрылғы драйверлері.[8] Apple инженерлері стандартты C ++ ерекшеліктерін, бірнеше мұрагерлікті, шаблондарды және жұмыс уақытының типтік сипаттамаларын жоғары өнімді, көп ағынды ядрода пайдалану үшін жеткіліксіз немесе жеткіліксіз деп санайды.[9]

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ «EC ++ негіздемесі».
  2. ^ EC ++ сұрақтары мен жауаптары
  3. ^ «Ендірілген және кеңейтілген ендірілген C ++». Архивтелген түпнұсқа 21 мамыр 2013 ж. Алынған 9 желтоқсан 2012.
  4. ^ «IAR Systems - компиляторлар және түзетушілер». IAR Systems веб-сайты.
  5. ^ «C ++ компиляторының ендірілген технологиясы». Тапсырма беру веб-сайты. Архивтелген түпнұсқа 2009-01-01.
  6. ^ «Green Hills C / C ++ / EC ++ компиляторларын оңтайландыру». Green Hills Software веб-сайты. Архивтелген түпнұсқа 2008-10-25 аралығында.
  7. ^ «EC ++ туралы не ойлайсыз?». Bjarne Stroustrup Жиі қойылатын сұрақтар.
  8. ^ «Mac OS X дегеніміз не?». Амит Сингх.
  9. ^ «Libkern C ++ жұмыс уақыты». IOKit құрылғы драйверін жобалау бойынша нұсқаулық.

Сыртқы сілтемелер