Forskel mellem GCC og CC Compiler Forskel mellem

Anonim

GCC vs CC Compiler

CC er navnet angivet til UNIX Compiler Command. Det bruges som standard compiler kommando til dit operativsystem og kan også udføres med samme kommando. GCC, derimod, er GNU Compiler operativsystemet. På systemer, der kører på GNU og Linux, er det almindeligt at finde, at CC'en er et link, så scriptsne kan bruge enten compiler udveksleligt og nemt. Der er forskellige forskelle i forhold til brugen af ​​GNU compiler samlingen og CC compiler. Disse forskelle kan generelt grupperes i to hovedgrupper. En af disse er mere specifik, mens den anden gruppe er mere generisk.

Forskelle

Hovedforskellen mellem de to omhandler C-kompilatorer og C ++-kompilere. C ++-kompilatorerne accepterer ikke C ++-programmer, men kompilerer ikke programmer i C vilkårligt. Dette er generelt sandt, selv om det har vist sig, at det er muligt at skrive en C-sprogkode i en delmængde, der kan forstås godt af C ++, selvom mange C-programmer ikke er gyldige C ++-programmer. På den anden side accepterer C compilere C-programmer, men afviser de fleste C ++-programmer, 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 i høj grad af sproget. C ++-programmer kan udføre på C-biblioteker, men dette er platformspecifik. C-programmer kan derimod ikke bruge C ++-biblioteker; C ++ har derfor et større bibliotekssæt tilgængeligt end C.

På Solaris er objektkoden, der produceres af kompilatorkommandoen, på ingen måde kompatibel med koden produceret af g ++, da disse er to separate compilere og deres konventioner vil variere. De vigtigste forskellige punkter er undtagelseshåndtering og manglende navne. Det er imidlertid vigtigt at bemærke, at manglende manglende betydning er vigtigt for at forhindre, at objekter er forenelige med hinanden. Dette peger faktisk på, at brugen af ​​et bibliotek, der er udarbejdet i CC, kræver, at hele programmet samles i CC. Hvis du også skal bruge et bibliotek kompileret med CC og et andet med g ++, skal en rekompilering af biblioteker udføres for at sikre den ønskede funktionalitet.

I kvaliteten af ​​assembler, der er genereret, er GCC, som er GNU Compiler Collection, ekstremt god til denne opgave. Indfødte kompilere arbejder dog til tider bedre. Intel-kompilatorer kan siges at have grundige optimeringer, der endnu ikke skal replikeres i GCC.

Begge kompilatorer er alt i alt nye til de nuværende standarder, selv om der er små forskelle mellem standardsprog og det sprog, 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 synes GCC at være fokuseret på at gøre livet lettere på grund af udvidelser og tweaks, der kan gøres for at få det ønskede resultat.

Sammenfatning

Der er et problem med krydsforenelighed mellem C og C ++ compiler biblioteker.

C ++-programmer kan udføre på C-biblioteker, men dette er platformspecifik.

For at bruge et bibliotek, der er sammensat i CC, skal hele programmet kompileres med CC og ikke GCC.

Hvis du har et bibliotek udarbejdet i CC og g ++, skal en af ​​bibliotekerne genkompileres.

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

Både CC og GCC i sprogfunktioner er gode i forhold til gældende standarder.