GCC vs CC Compiler
CC is de naam die aan het UNIX Compiler Commando wordt gegeven. Het wordt gebruikt als de standaard compiler commando voor uw besturingssysteem en is ook uitvoerbaar met hetzelfde commando. GCC, aan de andere kant, is het GNU Compiler besturingssysteem. Op systemen die draaien op GNU en Linux, is het gebruikelijk om de CC als een link te vinden, zodat de scripts beide compiler door elkaar en gemakkelijk kunnen gebruiken. Er zijn verschillende verschillen waargenomen met betrekking tot het gebruik van de GNU compiler collection en de CC compiler. Deze verschillen kunnen over het algemeen in twee hoofdgroepen worden gegroepeerd. Een van deze is specifieker, terwijl de andere groep meer generiek is.
verschillen
het belangrijkste verschil tussen de twee deals met C compilers en C++ compilers. De C++ compilers accepteren C++ programma ‘s, maar compileren geen programma’ s in C willekeurig. Dit is over het algemeen waar, hoewel is aangetoond dat het mogelijk is om een C-taalcode in een subset te schrijven die goed door C++ kan worden begrepen, zelfs wanneer veel C-programma ’s niet geldig zijn C++ programma’ s. Aan de andere kant accepteren C-compilers C-programma ‘s, maar verwerpen de meeste C++ – programma’ s die erin draaien. De reden dat dit probleem zich voordoet is dat de meeste C++ programma ‘ s constructies draaien die niet beschikbaar zijn in C.
de beschikbare bibliotheken voor deze programmatalen hangen grotendeels af van de taal. C++ programma ‘ s kunnen presteren op C bibliotheken, maar dit is platform specifiek. C programma ‘ s aan de andere kant kunnen C++ bibliotheken niet gebruiken; dus C++ heeft de neiging om een grotere bibliotheek set beschikbaar dan C.
Op Solaris is de objectcode die wordt geproduceerd door het compiler commando op geen enkele manier compatibel met de code die wordt geproduceerd door de G++ omdat dit twee afzonderlijke compilers zijn en hun conventies zullen verschillen. De belangrijkste verschillen zijn het hanteren van uitzonderingen en het vermalen van namen. Het is echter belangrijk op te merken dat de naam mangling is belangrijk om te voorkomen dat compatibele objecten worden gekoppeld. Dit wijst in feite op het feit dat het gebruik van een bibliotheek gecompileerd in CC vereist dat het hele programma gecompileerd in CC. Ook, als je een bibliotheek moet gebruiken die gecompileerd is met CC en een andere met g++, moet een hercompilatie van bibliotheken gedaan worden om de gewenste functionaliteit te garanderen.
In kwaliteit van de assembler die wordt gegenereerd, is GCC, de GNU Compiler collectie, zeer goed in deze taak. Native compilers werken echter soms beter. Intel compilers kan worden gezegd dat grondige optimalisaties die nog moeten worden gerepliceerd in GCC hebben.
beide compilers zijn al met al nieuw voor de huidige standaarden, hoewel er kleine verschillen zijn tussen de standaardtaal en de taal die de compiler ondersteunt. Deze standaarden zijn (C++98, C++2003, C99). Oudere C89 ondersteuning is beschikbaar in beide compilers en een begrip van de verwachte reacties is van cruciaal belang om ervoor te zorgen dat de compiler rolt zoals verwacht. Al met al GCC lijkt te zijn gericht op het maken van het leven gemakkelijker te wijten aan extensies en tweaks die kunnen worden gedaan om het gewenste resultaat te krijgen.
samenvatting
Er is een probleem met kruiskoppeling van C-en c++ – compilerbibliotheken.
C++ programma ‘ s kunnen op C-bibliotheken uitvoeren, maar dit is platformspecifiek.
om een in CC gecomponeerde bibliotheek te gebruiken, moet het hele programma gecompileerd zijn met CC en niet met GCC.
Als u een bibliotheek hebt gecompileerd in CC en G++, moet een van de bibliotheken opnieuw gecompileerd worden.
GCC doet uitstekend werk bij het maken van kwaliteitssamenstellingen.
zowel CC als GCC in taalfuncties zijn groot in relatie tot de huidige standaarden.