Gcc Beschreibung Gcc  
 
   
Beschreibung von Gcc Infos zu Gcc und Beschreibung.
Nicht angemeldet: Anmelden | Impressum 
Navigation
· Hauptseite
· Know Forum - neu!
· Zufälliger Artikel
· Spezialseiten
· Alle Artikel
· Eingeordnet unter
Aktueller Artikel
· Seite bearbeiten
· Links auf diese Seite
· Verlinkte Seiten
· Versionen


 
 



Letzte Beiträge
Die Klimalüge CO2Sehr geehrte Damen und Her
ren. Meine ...
Volumenausdehnung be...Hallo da draußen, ich h
abe folgendes ...
Osterrätsel der Fran...Hallo, ich hab' mich leide
r mit meinere ...
was ist denn mit dem...Hallo, der Song heißt Cal
istan "...
Strichcode entschlüs...Hallo benni, ich stehe
gerade vor dem...
Lust auf Focus Rätse...Hallo, an alle Spezialist
en dieses Räts...
ErdölServus, Erdöl hat keine
Formel, da es...
Frage an die Student...Hallo, im Prinzip ist das
eine gute Ide...
CO2 chemische Trennu...Hallo ....... CO2 in der
Luft wird begr...
IGBT ansteuerschaltu...Guten Tag, Wer weiss lief
ert eine funk...


GNU Compiler Collection

Dieser Text beschreibt GNU Compiler Collection.


Der untere Text beinhaltet die GNU Compiler Collection Beschreibung. Soweit es sich um ein definierbares Objekt handelt, sollte hier eine GNU Compiler Collection Definition vorhanden sein. Sollte eine Definition von GNU Compiler Collection fehlen, kann diese von Ihnen verfaßt werden. Wir sind bestrebt die Beschreibung von GNU Compiler Collection möglichst ausführlich zu halten.

Jeder Text bei Know-Library, sowie ein Teil davon (Definition, Beschreibung etc.), außer Bücher Beschreibungen kann bearbeitet werden. Falls die Beschreibung auf dieser Seite nicht korrekt ist klicken Sie auf 'Beschreibung editieren' um den Text zu korrigieren bzw. neuen einzufügen. Weitere Informationen und Bücher zum Thema GNU Compiler Collection Beschreibung , so wie Link zum Forum finden Sie weiter unten. Eine Übersicht der Texte, die das Thema GNU Compiler Collection beschreiben finden Sie auf der Seite alle Artikel über GNU Compiler Collection. Fragen zu dem Thema GNU Compiler Collection können im Forum gestellt werden. Klicken Sie hier um zu dem Forum zu wechseln.

GNU Compiler Collection Artikel

GCC ist eine Abkürzung aus dem IT-Bereich für eine Sammlung von Programmen mit der ursprünglichen Bedeutung GNU C Compiler. Da GCC inzwischen aber mehr als ca. einen C-Compiler beinhaltet, hat GCC (Großbuchstaben) inzwischen die Bedeutung GNU Compiler Collection (engl. für GNU Compilersammlung). Die Nennung gcc (Kleinbuchstaben) steht stets noch für den C-Compiler.

Inhaltsverzeichnis
Buch-Tipp: Bankwesen in den GCC-Ländern Es gibt leider keine Beschreibung für das Buch "Bankwesen in den GCC-Ländern". Um weitere Informationen zu diesem Buch zu finden klicken Sie bitte auf den Link oberhalb von diesem Text. Sie werden automatisch zum Buchhändler weiter geleitet.

Überblick

Die Sammlung enthält Compiler für die Programmiersprachen C, C++, Java, Objective-C, Fortran, Treelang und Ada. Die Compiler-Sammlung unterliegt den Bedingungen der GPL. Sie gehört zu dem Handwerkzeug jedes Computerbenutzers, der seine freie, quelloffene Software selber kompiliert.

Die erste öffentliche Version (0.9) des GCC wurde am 22. März 1987 von Richard Stallman für das GNU-Projekt freigegeben (Version 1.0 erschien am 23.05 desselben Jahres) und wird heute von Programmierern auf der ganzen Welt weiterentwickelt. Die Erweiterung des C-Compilerpakets zur Compiler-Collection erfolgte in dem Rahmen des EGCS-Projektes, das eine Weile parallel zu dem GCC existierte und schließlich zu dem offiziellen GCC wurde.

GCC ist ein umfangreiches Projekt. Es besteht aus über 25 Tausend Dateien mit über 2,1 Millionen Zeilen Code.

GCC wird von einer Reihe von Systemen als Standard-Compiler benutzt, darunter GNU/Linux, BSD, Mac OS X, NextStep, und BeOS. Er wurde auf mehr Systeme und Rechnerarchitekturen portiert als jeder andere Compiler und bietet sich besonders für Betriebssysteme an, die auf verschiedenen Hardware-Plattformen laufen sollen.

Das GCC-Projekt entschied sich, einige Plattformen offiziell als primäre und andere als sekundäre Evaluationsplattformen zu nennen. Vor jeder Veröffentlichung einer neuen Version werden insbesondere diese beiden Gruppen getestet. Zu den Prozessoren, für die GCC Programme erzeugen kann, gehören (primäre und sekundäre Evaluationsplattformen sind markiert):

Dazu kommen noch eine Reihe weiterer eher exotische Plattformen, wie z.B. Motorolas 68HC11 , A29K, ARC, C4x, CRIS, D30V, DSP16xx, FR-30, FR-V, Intel i960, IP2000, M32R, MCORE, MMIX, MN10200, MN10300, NS32K, ROMP, Stormy16, V850, und Xtensa, die von kaum mehr als einer Handvoll Leuten genutzt werden.

Buch-Tipp: Comparative World Affairs: Selected Countries, Organisations, Conflicts Um ausführliche Informationen zum Buch "Comparative World Affairs: Selected Countries, Organisations, Conflicts" zu bekommen klicken Sie bitte auf den Hyperlink oberhalb von diesem Text. Sie werden zum entsprechenden Buch auf der Händlerseite weiter geleitet.

Struktur

Das externe Interface des GCC entspricht dem eines Standard-Unix-Compilers. Der Benutzer ruft ein Hauptprogramm mit dem Namen gcc auf, das Kommandozeilen-Argumente interpretiert, die in den Eingabedateien vorliegende Programmiersprache feststellt, den entsprechenden Sprach-Compiler aufruft, dem Assembler dessen Ausgabe übergibt und zu dem Schluss evtl. den Linker aufruft, um ein komplettes Programm zu erhalten.

Jeder Sprach-Compiler ist ein separates Programm, das Quellcode entgegen nimmt und Assemblersprache produziert. Alle haben eine vergleichbare interne Struktur: Ein sprachabhängiges Frontend parst die Sprache und erzeugt einen abstrakten Syntaxbaum , der an ein Backend übergeben wird, das den Baum in GCCs Register Transfer Language (RTL) überführt, verschiedene Codeoptimierungen durchführt und zu dem Schluss Assemblersprache erzeugt. Der dazu benutzte Algorithmus basiert auf Arbeiten von Jack Davidson und Chris Fraser zu dem Pattern Matching.

Fast alle Bestandteile des GCC sind in C geschrieben. Eine Ausnahme bildet das Ada-Frontend, das zu dem größten Teil in Ada geschrieben ist.

Buch-Tipp: Der Gcc- Compiler. Überblick und Bedienung Die Beschreibung für das Buch "Der Gcc- Compiler. Überblick und Bedienung" fehlt leider. Weitere informatione finden Sie auf der Seite des Buchhändlers. Klicken Sie dafür auf den Link über diesem Text. Die Seite des Händlers öffnet sich in neuem Fenster.

Frontends

Frontends müssen Bäume produzieren, die vom Backend verarbeitet werden können. Wie sie dies erreichen, bleibt ihnen überlassen. Einige Parser benutzen YACC -ähnliche Grammatiken, andere benutzen handgeschriebene rekursive Parser.

Bis vor kurzem war die Baumrepräsentation des Programms nicht völlig vom Absichtprozessor unabhängig. Die Bedeutung eines Baums konnte für unterschiedliche Sprachfrontends unterschiedlich sein, und Frontends konnten ihren eigenen Baumcode zur Verfügung stellen.

Mit dem Tree-SSA-Projekt, das in die neue Version GCC 3.5 integriert wird, wurden zwei neue Formen von sprachunabhängigen Bäumen eingeführt. Diese neuen Baumformate wurden GENERIC und GIMPLE getauft. Parsing wird nun durchgeführt, indem ein temporärer sprachabhängiger Baum nach GENERIC konvertiert wird. Der so genannte "Gimplifier" überführt diese komplexe Form in die SSA -basierte GIMPLE-Form, von der ausgehend eine Reihe neuer sprach- und architekturunabhängiger Optimierungen durchgeführt werden können.

Optimierung an Bäumen passt eigentlich nichtins Schema von "Frontend" und "Backend", da sie nicht sprachabhängig ist und kein Parsen beinhaltet. Die GCC-Entwickler haben diesem Teil des Compilers daher den Namen "Middleend" gegeben. Zu den gegenwärtig am SSA-Baum durchgeführten Optimierungen gehören Dead Code Elimination, Partial Redundancy Elimination, Global Value Numbering, Sparse Conditional Constant Propagation, und Scalar replacement of Aggregates. Array-basierende Optimierungen wie zu dem Beispiel automatische Vektorisierung, wie sie der Intel-Compiler anbietet, werden gegenwärtig entwickelt.

Buch-Tipp: Economic Analysis and Evaluation of the Gulf Cooperation Council (GCC) (Europaische Hochschulschriften. Reihe V, Volks- Und Betriebswirtschaft, Bd. 1783.) Die Beschreibung für das Buch "Economic Analysis and Evaluation of the Gulf Cooperation Council (GCC) (Europaische Hochschulschriften. Reihe V, Volks- Und Betriebswirtschaft, Bd. 1783. )" fehlt leider. Weitere informatione finden Sie auf der Seite des Buchhändlers. Klicken Sie dafür auf den Link über diesem Text. Die...

Backend

Das Verhalten des GCC-Backends wird teilweise durch Präprozessor-Makros und architekturspezifische Funktionen bestimmt, mit denen zu dem Beispiel die Endianness, Wortgröße und Aufrufkonventionen definiert werden. Unter Verwendung dieser Informationen generiert das Backend die Register Transfer Language (RTL). Obwohl GCCs RTL dem Namen nach prozessorunabhängig ist, ist die Sequenz an abstrakten Instruktionen daher bereits an die Absicht angepasst.

Die Art und Anzahl der vom GCC an der RTL durchgeführten Optimierungen werden mit jeder Compiler-Version weiterentwickelt. Seit der kürzlichen Einführung globalen SSA-basierten Optimierungen an GIMPLE-Bäumen haben die RTL-Optimierungen leicht an Bedeutung verloren, da in der RTL-Repräsentation des Programms weit weniger der für viele Optimierungen wichtigen High-Level-Informationen enthalten sind.

In einer "Reload"-Phase werden abstrakte Pseudo-Register durch echte Maschinenregister ersetzt, wobei Daten aus Strukturen benutzt werden, die den Befehlssatz deAbsichts beschreiben. Diese Phase ist recht kompliziert, da die verschiedenen Eigenheiten der jeweiligen Absichtarchitektur hier besonders berücksichtigt werden müssen.

Die letzte Phase ist relativ unspektakulär. Aus der bereits recht maschinennahen Umsetzung der RTL wird Assemblercode generiert, indem die Namen von Registern und Adressen in Strings umgesetzt werden, die die Instruktionen spezifizieren.

Buch-Tipp: Economic Analysis and Evaluation of the Gulf Cooperation Council (Gcc) (European University Studies) Eine Beschreibung zum Buch "Economic Analysis and Evaluation of the Gulf Cooperation Council (Gcc) (European University Studies)" finden Sie auf der Seite des Buchhändlers. Um dorthin zu gelangen klicken Sie bitte auf den Link oberhalb von diesem Text. Sie werden automatisch zu diesem Buchtitel weiter geleitet.

Siehe auch

Buch-Tipp: Eine Währungsunion für die Staaten des Gulf Cooperation Council (GCC)? Es gibt leider keine Beschreibung für das Buch "Eine Währungsunion für die Staaten des Gulf Cooperation Council (GCC)?". Um weitere Informationen zu diesem Buch zu finden klicken Sie bitte auf den Link oberhalb von diesem Text. Sie werden automatisch zum Buchhändler weiter geleitet.

Weblinks


Dieser Artikel basiert auf einer Übersetzung des Artikels en:GNU Compiler Collection aus der englischen Library, Version vom 31. Juli 2004


Weiteres zu dem Artikel GNU Compiler Collection

Andere Leser interessierten sich auch für folgende Beschreibungen: Benutzer, Gnu, Programme, Sprache, Syntaxbaum
Schnellzugrif auf verwandte Texte:
 
NEU! Frage im Forum zum Thema:
 
Wenn die Beschreibung 'GNU Compiler Collection' Ihrer Meinung nach nicht korrekt ist oder in aktueller Version Fehler enthalten sind oder es fehlt die GNU Compiler Collection Definition, dann klicken Sie bitte auf "Beschreibung bearbeiten" und schreiben Sie die Eigene Version des Textes. Die Änderungen in der Beschreibung werden sofort aktiv und für alle sichtbar. Ein Administrator wird Ihre Version der Beschreibung und Definition von 'GNU Compiler Collection' nachher prüfen. Bitte achten Sie auf die Urheberrechte (Copyright). Wir sind für die besseren Beschreibung von 'GNU Compiler Collection' und 'GNU Compiler Collection' Definition sehr dankbar.

Alle Tipps zu den Bücher auf dieser Seite wurden automatisch generiert. D.h. die Bücher wurden aus einer Datenbank von dem Computer ausgesucht. Deshalb kann es vorkommen, dass vorgeschlagene Bücher nicht ganz der 'GNU Compiler Collection' Beschreibung entsprechen.