Преглед Ц компајлера

Научимо овај пример преводилаца са примером. Претпоставимо да сте били на месту где су језици на којима говорите потпуно различити једни од других и сада сте имали неких проблема са путовањима и желите да комуницирате исто са њима. Како? Да ли вам је потребан преводилац? Одлучите се за некога ко може да разуме ваш језик и преведе и пусти супротну особу да разуме шта сте желели да кажете. На исти начин писали бисмо Ц код на језику високог нивоа, који је људски разумљив формат. Како би програм разумео шта смо од њега тражили? Овде компајлер улази у слику. Компајлер трансформише и преводи хигх-енд језик у машински (низак ниво) разумљив језик. Процес састављања чини основне механизме превођења и такође откривање грешака. Компилација предњег краја укључује лексичку, синтаксу и семантичку анализу. На задњем крају, компилација врши генерисање и оптимизацију кода. Дакле, постоји много компајлера на Ц-у попут БДС-а, Цланг-а, ГЦЦ-а, интерактивног Ц-а, решетке, преносивог Ц-компајлера, Висуал Екпресс-а, итд. Упознајмо се са неколико њих.

Објашњења Ц састављачима

Испод су најбољи компајлери Ц:

1) Борланд Турбо Ц

Турбо Ц је један од основних и популарних компајлера за програмски језик Ц. Први пут је представљена 1987. године; био је популаран због своје мале величине, брзине компилације и ниске цене. Једном када је Турбо Ц ++ изашао 1990. године, оба преговарача су спојена и име Турбо Ц је укинуто. 2006. године Ембарцадеро Тецхнологиес је поново издао Турбо Ц као бесплатан. Да ли се сећате овог плавог екрана?

2) Компајлер Тини Ц

Компајлер Тини Ц дизајниран је за рад на спорим рачунарима са мало дисковног простора. Ово је компајлер АР процесора. Овај компајлер је започео подршку за Виндовс од 2005. Неке његове карактеристике су поменуте у даљем тексту.

  1. Његова величина датотеке је мала и према власнику овог преводиоца (Фабрице Беллард). Брзина овог преводиоца је око девет пута бржа од ГЦЦ-а. Компилација, састављање и повезивање кода били су главни атрибути који су узети у обзир за мерење брзине овог компајлера.
  2. Овај компајлер је укључио многе карактеристике специфичне за компајлере како би се повећала опциона меморија, везана провера и имала већа стабилност кода.
  3. Овај компајлер омогућава аутоматско извршавање програма током времена компилације само користећи аргументе командне линије. На овај начин се програми извршавају под УНИКС-ом, користећи скрипте схелл-а. Најновија верзија објављена је у децембру 2017. године.

3) Преносиви компајлер Ц

Преносиви компајлер Ц (ПЦЦ) био је врло рани и етаблирани компајлер за програмски језик Ц, који је скоро средином 1970. године. Овај преводилац је имао дуг животни век. Ово је преовладавало током периода на такав начин да су се многи од Ц преводилаца базирали на њему. Предности ПЦЦ-а зависиле су од његових могућности и предвиђања вероватноће. ПЦЦ компајлер је направљен тако да су изворне датотеке зависиле од машине, не све, већ само неке од њих. Може открити грешке у синтакси и може извршити савршене провере ваљаности. Нова верзија ПЦЦ-а објављена је 10. децембра 2014.

4) ГЦЦ

ГНУ Цомпилер Цоллецтион је компајлер произведен од стране ГНУ Пројекта. Ово подржава многе програмске језике и основа је бесплатног софтвера под Генерал Публиц Лиценсе. Овај компајлер је први пут објављен 1987. године и током стартовања је подржавао само Ц-програмски језик. Полако се проширио на Ц ++, Јава, Андроид и ИОС. Овде сваки од различитих преводилаца језика има свој програм који чита написан код и шаље машински код као излаз. Сви ови имају заједничку унутрашњу структуру. Када се пише језик на високом нивоу, према језику на којем је написан, преводилац анализира код на том језику и ствара апстрактно стабло синтаксе. ГЦЦ користи ЛАЛР парсере, али полако је прешао на парсере рекурзивног спуштања за Ц током 2006. Долазак до дела за оптимизацију, као што је већ познато то се може догодити током било које фазе компилације. Међутим, овде се масовна оптимизација врши пре генерисања кода и после синтаксе, семантичке анализе. Испод је неколико оптимизација које је извршио ГЦЦ.

  1. То може елиминисати мртве делове.
  2. То може елиминисати сувишност на нивоу кода.
  3. Замена агрегата према скаларном нивоу.
  4. Може да изврши оптимизације са Арраис-има.

У ГЦЦ-у се крајњи крај специфицира помоћу макронаредби процесора и функција специфичних за одређену архитектуру. Овај се код углавном гради тако што прво позовете мали исјечак кода који је повезан са сваким узорком и генеришу инструкције из скупа инструкција. То се врши помоћу регистара, оффсета и адреса које су изабране у фази поновног учитавања. Тренутна верзија ГЦЦ-а је 9.2 која је објављена 12. августа 2019.

5) Цланг

  1. Цланг; укључујући Ц, такође је компајлер за програмске језике Ц ++, Објецтиве-Ц и таргет-Ц ++. Овај компајлер користи ЛЛВМ за компилације које се односе на задњи крај. Овај преводилац је осмишљен тако да делује као замена за ГЦЦ подржавајући многе његове компилацијске заставе и језичне екстензије.
  2. Цланг има много сарадника, укључујући Аппле, Мицрософт, Гоогле, Сони и Интел. То је софтвер отвореног кода. ЛЦЦ је први кориштен од стране ГЦЦ-а за компилацију, али ГЦЦ је створио неке проблеме програмерима Аппле-а, јер је изворни код велик и тежак за употребу. Дакле, смислили су Цланга.
  3. Један од главних циљева Цланг-а је да обезбеди библиотечку архитектуру. Дизајниран је да задржи више информација током процеса компилације него ГЦЦ. Ово такође помаже да се сачува целокупни облик оригиналног кода.
  4. Извештај о грешци који је Цланг створио током компилације увек је детаљан и специфичан у стројно читљивом формату. Цланг је одувек имао за циљ смањити прекомерно коришћење меморијског простора и повећати брзину компилације у поређењу са ГЦЦ-ом, а захваљујући тим квалитетима, постао је један од најбрже растућих компајлера током одређеног времена. Али током одређеног периода перформансе Цланга су почеле да опадају. Извештаји кажу да су перформансе заостајале са скоро великим разликама у поређењу са ГЦЦ-ом и да су почеле да имају спорије перформансе. Најновија поређења показују да су се и преводиоци појавили и повећали своје перформансе и поново створили велику конкуренцију међу њима. Ипак, ГЦЦ остаје на врху листе.

Закључак

Иако постоји много компајлера доступних за Ц, ГЦЦ се истиче као један од најбољих до сада. Изјава о победнику овде лежи на основу трајности, оптимизације, брзине и провере кода / грешке / синтаксе. Кроз ово јасно можемо схватити да је преводилац важан стуб програмским језицима. Без њиховог рада, било који програм који пишемо било би смеће за систем.

Препоручени чланци

Ово је водич за најбоље Ц преводиоце. Овде разговарамо о објашњењима Ц Цомпилера са пет кратких тачака. Можете и да прођете кроз наш други предложени чланак да бисте сазнали више -

  1. Питхон Цомпилерс
  2. Јава компајлери
  3. Како инсталирати Ц
  4. Предности Ц
  5. Увод у ПХП компајлер
  6. Компајлери ЈаваСцрипт

Категорија: