Forskel mellem GCC og CC Compiler

GCC vs CC Compiler

CC er det navn, der er givet til UNIX Compiler Command. Det bruges som standardkompilerings-kommando til dit operativsystem og kan også eksekveres med den samme kommando. På den anden side er GCC operativsystemet GNU Compiler. På systemer, der kører på GNU og Linux, er det almindeligt at finde CC som et link, så manuskripterne kan bruge enten compiler om hverandre og let. Der er forskellige forskelle, der observeres med hensyn til brug af GNU-compilersamlingen og CC-compileren. Disse forskelle kan generelt grupperes i to hovedgrupper. En af disse er mere specifik, mens den anden gruppe er mere generisk.

Forskelle

Den største forskel mellem de to handler med C-compilere og C ++ compilers. C ++ -kompilatorerne accepterer C ++ -programmer, men kompilerer ikke programmer i C vilkårligt. Dette er generelt sandt, skønt det er vist, at det er muligt at skrive en C-sprogkode i en undergruppe, der kan forstås godt af C ++, selv når mange C-programmer ikke er gyldige C ++ -programmer. På den anden side accepterer C-kompilatorer C-programmer, men afviser de fleste af C ++ -programmerne, der kører i dem. Årsagen til at dette problem opstår er, at de fleste C ++ - programmer kører konstruktioner, der ikke er tilgængelige i C.

De tilgængelige biblioteker til disse programsprog afhænger stort set af sproget. C ++ -programmer kan udføres på C-biblioteker, men dette er platformspecifikt. C-programmer på den anden side kan ikke bruge C ++ -biblioteker; C /+ har derfor en tendens til at have et større biblioteksæt tilgængeligt end C.

På Solaris er den objektkode, der produceres af compiler-kommandoen, på ingen måde kompatibel med koden, der er produceret af g ++, da disse er to separate compilere, og deres konventioner vil variere. De vigtigste forskellige punkter er undtagelseshåndtering og mangling af navne. Det er dog vigtigt at bemærke, at navlen mangling er vigtig for at forhindre, at kompatible objekter kobles sammen. Dette peger faktisk på det faktum, at brug af et bibliotek, der er udarbejdet i CC, kræver, at hele programmet udarbejdes i CC. Hvis du har brug for at bruge et bibliotek, der er kompileret med CC og et andet med g ++, skal der foretages en rekompilering af biblioteker for at sikre den ønskede funktionalitet.

I kvaliteten af ​​den sammensatte samling, der er genereret, er GCC, som er GNU Compiler Collection, ekstremt god til denne opgave. Indfødte kompilatorer fungerer dog bedre til tider. Det kan siges, at Intel-compilere har grundige optimeringer, der endnu ikke skal replikeres i GCC.

Begge kompilatorer er alt i alt nye til de nuværende standarder, selvom der er små forskelle mellem standardsprog og det sprog, som kompilatoren understøtter. Disse standarder er (C ++ 98, C ++ 2003, C99). Ældre C89-support er tilgængelig i begge kompilatorer, og en forståelse af de forventede svar er afgørende for at sikre, at kompilatoren ruller ud som forventet. Alt i alt ser GCC ud til at være fokuseret på at gøre livet lettere på grund af udvidelser og justeringer, der kan gøres for at få det ønskede resultat.

Resumé

Der er et problem med krydskompatibilitet mellem C og C ++ kompilatorbiblioteker.

C ++ -programmer kan udføres på C-biblioteker, men dette er platformspecifikt.

For at bruge et bibliotek, der er sammensat i CC, kræves det, at hele programmet kompileres med CC og ikke GCC.
Hvis du har et bibliotek samlet i CC og g ++, skal et af bibliotekerne omkompileres.

GCC gør et fantastisk stykke arbejde med at skabe kvalitetssamlinger.

Både CC og GCC i sprogfunktioner er gode i forhold til de nuværende standarder.