Unterschied zwischen GCC und CC Compiler

Unterschied zwischen GCC und CC Compiler

GCC gegen CC Compiler

CC ist der Name des Unix -Compiler -Befehls. Es wird als Standard -Compiler -Befehl für Ihr Betriebssystem verwendet und ist auch mit demselben Befehl ausführbar. GCC hingegen ist das Betriebssystem GNU Compiler. Bei Systemen, die auf GNU und Linux ausgeführt werden, ist es üblich, dass der CC ein Link ist, damit die Skripte entweder synonym und einfach verwenden können. In Bezug. Diese Unterschiede können im Allgemeinen in zwei Hauptgruppen eingeteilt werden. Eine davon ist spezifischer, während die andere Gruppe generischer ist.

Unterschiede

Der Hauptunterschied zwischen den beiden Deals mit C -Compilern und C ++ - Compilern. Die C ++ - Compiler akzeptieren C ++ - Programme, kompilieren jedoch keine Programme in C willkürlich. Dies gilt im Allgemeinen, obwohl gezeigt wurde, dass es möglich ist, einen C -Sprachcode in einer Untergruppe zu schreiben, die von C ++ gut verstanden werden kann, selbst wenn viele C -Programme keine gültigen C ++ -Programme sind.  Auf der anderen Seite akzeptieren C -Compiler C -Programme, lehnen jedoch die meisten C ++ - Programme ab, die in ihnen durchgeführt werden. Der Grund, warum dieses Problem auftritt, ist, dass die meisten C ++ - Programme Konstrukte ausführen, die in C nicht verfügbar sind.

Die verfügbaren Bibliotheken für diese Programmsprachen hängen weitgehend von der Sprache ab. C ++ - Programme können in C -Bibliotheken ausgeführt werden, dies ist jedoch plattformspezifisch. C -Programme hingegen können keine C ++ - Bibliotheken verwenden. Daher hat C ++ tendenziell einen größeren Bibliothekssatz als C zur Verfügung.

Auf Solaris ist der vom Compiler -Befehl erzeugte Objektcode in keiner Weise mit dem vom G ++ erzeugten Code kompatibel, da es sich um zwei separate Compiler und ihre Konventionen unterscheiden sich. Die wichtigsten unterschiedlichen Punkte sind Ausnahmebehandlung und Mauskerl der Namen. Es ist jedoch wichtig zu beachten, dass der Namen Mangling wichtig ist, um zu verhindern.  Dies zeigt in der Tatsache, dass die Verwendung einer in CC zusammengestellten Bibliothek, die das gesamte Programm in CC erstellt wird, erstellt wird. Wenn Sie eine mit CC zusammengestellte Bibliothek und eine andere mit G ++ verwenden müssen, muss eine Neukompilierung von Bibliotheken durchgeführt werden, um die gewünschte Funktionalität sicherzustellen.

In der generierten Qualität des Assemblers ist GCC, das die GNU -Compiler -Sammlung ist, in dieser Aufgabe äußerst gut. Einheimische Compiler funktionieren jedoch manchmal besser. Intel Compiler können über gründliche Optimierungen verfügen, die in GCC noch nicht repliziert werden müssen.

Beide Compiler sind alle in allen den aktuellen Standards neu, obwohl es winzige Unterschiede zwischen den Standards Sprache und der Sprache gibt, die der Compiler unterstützt. Diese Standards sind (C ++ 98, C ++ 2003, C99). Ältere C89 -Unterstützung ist in beiden Compilern erhältlich, und ein Verständnis der erwarteten Antworten ist entscheidend, um sicherzustellen, dass der Compiler wie erwartet einsetzt. Insgesamt scheint GCC darauf konzentriert zu sein, das Leben aufgrund von Erweiterungen und Änderungen zu erleichtern, die ihm durchgeführt werden können, um das gewünschte Ergebnis zu erzielen.

Zusammenfassung

Es gibt ein Problem mit der Kreuzkompatibilität von C- und C ++ - Compiler -Bibliotheken.

C ++ - Programme können in C -Bibliotheken durchführen, dies ist jedoch plattformspezifisch.

Für die Verwendung einer in CC komponierten Bibliothek muss das gesamte Programm mit CC und nicht mit GCC zusammengestellt werden.
Wenn Sie eine Bibliothek in CC und G ++ zusammenstellen, muss eine der Bibliotheken neu kompiliert werden.

GCC leistet einen wunderbaren Job bei der Schaffung hochwertiger Versammlungen.

Sowohl CC als auch GCC in Sprachmerkmalen sind in Bezug auf aktuelle Standards großartig.