Diferența dintre GCC și CC Compiler

GCC vs CC Compiler

CC este numele dat comenzii Unix Compiler. Este folosit ca comanda implicit compilator pentru sistemul de operare și, de asemenea, este executabil cu aceeași comandă. GCC, pe de altă parte, este sistemul de operare compilator GNU. Pe sistemele care rulează pe GNU și Linux, este obișnuit să găsești CC fiind o legătură, astfel încât scripturile să poată utiliza fie compilatorul în mod interschimbabil și ușor. Există diferite diferențe observate în ceea ce privește utilizarea GNU compiler collection și CC compiler. Aceste diferențe pot fi, în general, grupate în două grupuri principale. Unul dintre acestea este mai specific, în timp ce celălalt grup este mai generic.

diferențe

diferența principală dintre cele două se referă la compilatoarele C și compilatoarele C++. Compilatoarele C++ acceptă programe C++, dar nu compilează programe în C în mod arbitrar. Acest lucru este în general adevărat, deși s-a demonstrat că este posibil să scrieți un cod de limbă C într-un subset care poate fi înțeles bine de C++ chiar și atunci când multe programe C nu sunt programe C++ valide. Pe de altă parte, compilatoarele C acceptă programe C, dar resping majoritatea programelor C++ care rulează în ele. Motivul pentru care apare această problemă este că majoritatea programelor c++ rulează construcții care nu sunt disponibile în C.

bibliotecile disponibile pentru aceste limbi de program depind în mare măsură de limbă. Programele C++ pot funcționa pe bibliotecile C, dar aceasta este specifică platformei. Programele C, pe de altă parte, nu pot utiliza bibliotecile C++; astfel, c++ tinde să aibă un set de biblioteci mai mare disponibil decât C.

pe Solaris, codul obiect care este produs de comanda compilatorului nu este în niciun fel compatibil cu codul produs de g++, deoarece acestea sunt două compilatoare separate și convențiile lor vor diferi. Principalele puncte diferite sunt manipularea excepțiilor și manglarea numelor. Cu toate acestea, este important să rețineți că manglingul de nume este important pentru a preveni Compatibilitatea obiectelor de a fi legate între ele. Acest fapt indică faptul că utilizarea unei biblioteci compilate în CC are nevoie ca întregul program să fie compilat în CC. De asemenea, dacă trebuie să utilizați o bibliotecă compilată cu CC și alta cu g++, trebuie făcută o recompilare a bibliotecilor pentru a asigura funcționalitatea dorită.

în calitatea asamblorului care este generat, GCC, care este colecția de compilatoare GNU, este extrem de bun la această sarcină. Compilatoarele Native funcționează totuși mai bine uneori. Se poate spune că compilatoarele Intel au optimizări aprofundate care nu sunt încă reproduse în GCC.ambele compilatoare sunt cu totul noi la standardele actuale, chiar dacă există mici diferențe între limbajul standardelor și limba pe care compilatorul o acceptă. Aceste standarde sunt (C++98, C++2003, C99). Suportul C89 mai vechi este disponibil în ambele compilatoare și o înțelegere a răspunsurilor așteptate este crucială pentru a se asigura că compilatorul rulează așa cum era de așteptat. În general, GCC pare să se concentreze asupra ușurării vieții datorită extensiilor și modificărilor care pot fi făcute pentru a obține rezultatul dorit.

rezumat

există o problemă cu Compatibilitatea încrucișată a bibliotecilor de compilatoare C și C++.

programele C++ pot funcționa pe bibliotecile C, dar aceasta este specifică platformei.

pentru a utiliza o bibliotecă compusă în CC necesită ca întregul program să fie compilat cu CC și nu cu GCC.
dacă aveți o bibliotecă compilată în CC și g++, una dintre biblioteci trebuie recompilată.

GCC face o treabă minunată în crearea de ansambluri de calitate.

atât CC, cât și GCC în caracteristicile lingvistice sunt excelente în raport cu standardele actuale.

Lasă un răspuns

Adresa ta de email nu va fi publicată.