GCC срещу CC Compiler
CC е името, дадено на UNIX Compiler Command. Използва се като команда за компилация по подразбиране за вашата операционна система и също така се изпълнява със същата команда. GCC, от друга страна, е операционната система GNU Compiler. В системите, които работят на GNU и Linux, обикновено е да се намери, че CC е връзка, така че скриптовете да могат да използват компилатор взаимозаменяемо и лесно. Има различни разлики, които се наблюдават по отношение на използването на колекцията на GNU компилатор и компилатора CC. Тези разлики обикновено могат да бъдат групирани в две основни групи. Едната от тях е по-специфична, докато другата група е по-родова.
Различията
Основната разлика между двете сделки с C компилатори и C ++ компилатори. C ++ компилаторите приемат C ++ програми, но не компилират програми в C произволно. Това по принцип е вярно, въпреки че е показано, че е възможно да се напише код на езика на C в подмножество, което може да бъде разбрано добре от C ++, дори когато много C програми не са валидни C ++ програми. От друга страна, C компилаторите приемат C програми, но отхвърлят повечето от C ++ програмите, които се изпълняват в тях. Причината за възникването на този проблем е, че повечето C ++ програми изпълняват конструкции, които не са налични в C.
Наличните библиотеки за тези програмни езици до голяма степен зависят от езика. C ++ програми могат да се изпълняват в C библиотеки, но това е специфично за платформата. C програмите от друга страна не могат да използват C ++ библиотеки; по този начин C ++ има на разположение по-голям набор от библиотеки от C.
В Solaris обектният код, който се произвежда от командата на компилатора, по никакъв начин не е съвместим с кода, произведен от g ++, тъй като това са два отделни компилатора и техните конвенции ще се различават. Основните различия са изключенията и манипулирането на имена. Важно е обаче да се отбележи, че манипулирането на име е важно, за да се предотврати свързването на съвместими обекти. Това на практика сочи към факта, че използването на библиотека, съставена в CC, трябва цялата програма да бъде компилирана в CC. Освен това, ако трябва да използвате библиотека, компилирана с CC и друга с g ++, трябва да се направи рекомпилация на библиотеки, за да се гарантира желаната функционалност.
В качеството на генерирания асемблер GCC, който е колекцията на GNU Compiler, е изключително добър в тази задача. Нативните компилатори обаче работят по-добре понякога. Може да се каже, че компилаторите на Intel имат задълбочени оптимизации, които тепърва ще се репликират в GCC.
И двата компилатора са съвсем нови за текущите стандарти, въпреки че има малки разлики между езика на стандартите и езика, който компилаторът поддържа. Тези стандарти са (C ++ 98, C ++ 2003, C99). По-старата поддръжка на C89 е налична както в компилаторите, така и разбирането на очакваните отговори е от решаващо значение, за да се гарантира, че компилаторът се изпълнява както се очаква. Като цяло GCC изглежда е фокусиран върху улесняване на живота поради разширения и ощипвания, които могат да се направят за него, за да получите желания резултат.
резюме
Има проблем с кръстосаната съвместимост на C и C ++ компилаторските библиотеки.
C ++ програми могат да се изпълняват в C библиотеки, но това е специфично за платформата.
За да се използва библиотека, съставена в CC, изисква цялата програма да се компилира с CC, а не с GCC.
Ако имате библиотека, съставена в CC и g ++, една от библиотеките трябва да бъде прекомпилирана.
GCC върши чудесна работа в създаването на качествени сглобки.
Както CC, така и GCC в езиковите характеристики са страхотни по отношение на текущите стандарти.