https://de.wikipedia.org/w/index.php?action=history&feed=atom&title=GNU_Compiler_Collection GNU Compiler Collection - Versionsgeschichte 2025-06-02T21:20:51Z Versionsgeschichte dieser Seite in Wikipedia MediaWiki 1.45.0-wmf.3 https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=255270156&oldid=prev 84.158.115.212: /* Literatur */ Der Autor hat den TeXinfo Quellcode seines Buches auf github hochgeladen. Dies ist auch die neuste Version. 2025-04-19T01:44:12Z <p><span class="autocomment">Literatur: </span> Der Autor hat den TeXinfo Quellcode seines Buches auf github hochgeladen. Dies ist auch die neuste Version.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 19. April 2025, 03:44 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 150:</td> <td colspan="2" class="diff-lineno">Zeile 150:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Literatur ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Nikolaus Schüler: ''Der Gcc-Compiler: Überblick und Bedienung''. bhv, 1997. ISBN 3-89360-873-7.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* Nikolaus Schüler: ''Der Gcc-Compiler: Überblick und Bedienung''. bhv, 1997. ISBN 3-89360-873-7.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* Brian J. Gough, Richard M. Stallman: ''[https://<del style="font-weight: bold; text-decoration: none;">linuxtopia</del>.<del style="font-weight: bold; text-decoration: none;">org</del>/<del style="font-weight: bold; text-decoration: none;">online_books</del>/<del style="font-weight: bold; text-decoration: none;">an_introduction_to_gcc/index.html</del> An Introduction to GCC: For the GNU Compilers GCC and G++]''. Network Theory Ltd. 2004. ISBN 978-0-954-16179-8.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* Brian J. Gough, Richard M. Stallman: ''[https://<ins style="font-weight: bold; text-decoration: none;">github</ins>.<ins style="font-weight: bold; text-decoration: none;">com</ins>/<ins style="font-weight: bold; text-decoration: none;">briangough</ins>/<ins style="font-weight: bold; text-decoration: none;">gccintro</ins> An Introduction to GCC: For the GNU Compilers GCC and G++]''. Network Theory Ltd. 2004. ISBN 978-0-954-16179-8.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* William von Hagen: ''The Definitive Guide to GCC''. 2. Ausgabe, Apress 2006. ISBN 978-1-590-59585-5.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* William von Hagen: ''The Definitive Guide to GCC''. 2. Ausgabe, Apress 2006. ISBN 978-1-590-59585-5.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> </table> 84.158.115.212 https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=250954828&oldid=prev Stefan Weil: Die letzte Textänderung von 77.118.167.26 wurde verworfen. Die Bezeichnung hat sich nicht geändert, aber die Bedeutung. Daher war der alte Text richtig. 2024-12-04T16:35:47Z <p>Die letzte Textänderung von <a href="/wiki/Spezial:Beitr%C3%A4ge/77.118.167.26" title="Spezial:Beiträge/77.118.167.26">77.118.167.26</a> wurde verworfen. Die Bezeichnung hat sich nicht geändert, aber die Bedeutung. Daher war der alte Text richtig.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 4. Dezember 2024, 18:35 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 21:</td> <td colspan="2" class="diff-lineno">Zeile 21:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''GCC''' ist der Name der [[Compiler]]-Suite des [[GNU-Projekt]]s. '''GCC''' stand ursprünglich für '''GNU C Compiler'''. Da GCC heute aber außer [[C (Programmiersprache)|C]] noch einige andere Programmiersprachen übersetzen kann, hat GCC inzwischen die <del style="font-weight: bold; text-decoration: none;">Bezeichnung</del> '''GNU Compiler Collection''' erhalten ({{enS}} für ''GNU-Compilersammlung''). Das Kommando '''gcc''' (in Kleinbuchstaben) steht weiterhin für den C-Compiler.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''GCC''' ist der Name der [[Compiler]]-Suite des [[GNU-Projekt]]s. '''GCC''' stand ursprünglich für '''GNU C Compiler'''. Da GCC heute aber außer [[C (Programmiersprache)|C]] noch einige andere Programmiersprachen übersetzen kann, hat GCC inzwischen die <ins style="font-weight: bold; text-decoration: none;">Bedeutung</ins> '''GNU Compiler Collection''' erhalten ({{enS}} für ''GNU-Compilersammlung''). Das Kommando '''gcc''' (in Kleinbuchstaben) steht weiterhin für den C-Compiler.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Überblick ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Überblick ==</div></td> </tr> </table> Stefan Weil https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=250953235&oldid=prev 77.118.167.26: Gefühlsmäßig passt hier "Bezeichnung" besser als "Bedeutung". 2024-12-04T15:28:02Z <p>Gefühlsmäßig passt hier &quot;Bezeichnung&quot; besser als &quot;Bedeutung&quot;.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 4. Dezember 2024, 17:28 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 21:</td> <td colspan="2" class="diff-lineno">Zeile 21:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>'''GCC''' ist der Name der [[Compiler]]-Suite des [[GNU-Projekt]]s. '''GCC''' stand ursprünglich für '''GNU C Compiler'''. Da GCC heute aber außer [[C (Programmiersprache)|C]] noch einige andere Programmiersprachen übersetzen kann, hat GCC inzwischen die <del style="font-weight: bold; text-decoration: none;">Bedeutung</del> '''GNU Compiler Collection''' erhalten ({{enS}} für ''GNU-Compilersammlung''). Das Kommando '''gcc''' (in Kleinbuchstaben) steht weiterhin für den C-Compiler.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>'''GCC''' ist der Name der [[Compiler]]-Suite des [[GNU-Projekt]]s. '''GCC''' stand ursprünglich für '''GNU C Compiler'''. Da GCC heute aber außer [[C (Programmiersprache)|C]] noch einige andere Programmiersprachen übersetzen kann, hat GCC inzwischen die <ins style="font-weight: bold; text-decoration: none;">Bezeichnung</ins> '''GNU Compiler Collection''' erhalten ({{enS}} für ''GNU-Compilersammlung''). Das Kommando '''gcc''' (in Kleinbuchstaben) steht weiterhin für den C-Compiler.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Überblick ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Überblick ==</div></td> </tr> </table> 77.118.167.26 https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=245053060&oldid=prev 87.245.17.222: Es ist nicht sicher, dass jeder Browser die Grafik auf der rechten Seite anzeigt. 2024-05-17T10:16:44Z <p>Es ist nicht sicher, dass jeder Browser die Grafik auf der rechten Seite anzeigt.</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 17. Mai 2024, 12:16 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 113:</td> <td colspan="2" class="diff-lineno">Zeile 113:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Ein vollständiges, d.&amp;nbsp;h. lauffähiges [[Computerprogramm|Programm]] wurde erstellt.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div># Ein vollständiges, d.&amp;nbsp;h. lauffähiges [[Computerprogramm|Programm]] wurde erstellt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Jeder Sprachcompiler ist ein separates Programm, das Quellcode entgegennimmt und Assemblersprache produziert. Im Schema<del style="font-weight: bold; text-decoration: none;"> auf der rechten Seite</del> sind Beispiele für C und Assembler gegeben, welche sich beide dem [[Präprozessor|Preprocessing]] unterziehen müssen, bei dem Compiler[[makro]]s, eingebundene [[Header-Datei]]en und Ähnliches umgewandelt werden, um reinen C-Code bzw. Assembler zu erhalten. Jenes sprachabhängige [[Frontend]] [[Parser|parst]] die entsprechende Sprache und erzeugt einen [[Abstrakter Syntaxbaum|abstrakten]] [[Syntaxbaum]], der an ein [[Front-End und Back-End|Backend]] übergeben wird, das den Baum in GCCs ''{{lang|en|Register Transfer Language}} (RTL)'' überführt (im Diagramm nicht gezeigt), verschiedene [[Compiler#Programmoptimierung (ausführlich)|Codeoptimierungen]] durchführt und zum Schluss [[Assemblersprache]] erzeugt.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Jeder Sprachcompiler ist ein separates Programm, das Quellcode entgegennimmt und Assemblersprache produziert. Im<ins style="font-weight: bold; text-decoration: none;"> abgebildeten</ins> Schema sind Beispiele für C und Assembler gegeben, welche sich beide dem [[Präprozessor|Preprocessing]] unterziehen müssen, bei dem Compiler[[makro]]s, eingebundene [[Header-Datei]]en und Ähnliches umgewandelt werden, um reinen C-Code bzw. Assembler zu erhalten. Jenes sprachabhängige [[Frontend]] [[Parser|parst]] die entsprechende Sprache und erzeugt einen [[Abstrakter Syntaxbaum|abstrakten]] [[Syntaxbaum]], der an ein [[Front-End und Back-End|Backend]] übergeben wird, das den Baum in GCCs ''{{lang|en|Register Transfer Language}} (RTL)'' überführt (im Diagramm nicht gezeigt), verschiedene [[Compiler#Programmoptimierung (ausführlich)|Codeoptimierungen]] durchführt und zum Schluss [[Assemblersprache]] erzeugt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ursprünglich wurden die meisten Bestandteile der GCC in C geschrieben. Im Rahmen des Vorhabens „GCC in Cxx“&lt;ref&gt;{{Internetquelle |url=https://gcc.gnu.org/wiki/gcc-in-cxx |titel=THE GCC Wiki - gcc-in-cxx |werk=gcc.gnu.org |hrsg=Gnu Org |datum=2012-04-06 |sprache=en |abruf=2022-05-04}}&lt;/ref&gt; wurde 2010 die Umstellungen der gcc-Quellen auf C++ geplant und begonnen. Ziel dieser Umstellung ist, die GCC verständlich und wartbar zu halten. Im Nachfolgeprojekt&lt;ref&gt;{{Internetquelle |url=https://gcc.gnu.org/wiki/cxx-conversion |titel=cxx-conversion - GCC Wiki |werk=gcc.gnu.org |datum=2012-12-11 |sprache=en |abruf=2022-05-04}}&lt;/ref&gt; wurde auch die noch fehlende Stufe 1 des GCC-Bauprozesses auf C++-Code umgestellt.&lt;ref&gt;{{Internetquelle | url= https://www.heise.de/newsticker/meldung/GCC-setzt-intern-verstaerkt-auf-C-1668224.html | titel= GCC setzt intern verstärkt auf C++ | autor = Thorsten Leemhuis | hrsg=heise.de | datum=2012-08-16 | zugriff=2015-04-26 |sprache=}}&lt;/ref&gt; Ausnahmen sind Backends, die in wesentlichen Teilen in RTL formuliert sind, sowie das Ada-Frontend, welches zum größten Teil in Ada geschrieben ist.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Ursprünglich wurden die meisten Bestandteile der GCC in C geschrieben. Im Rahmen des Vorhabens „GCC in Cxx“&lt;ref&gt;{{Internetquelle |url=https://gcc.gnu.org/wiki/gcc-in-cxx |titel=THE GCC Wiki - gcc-in-cxx |werk=gcc.gnu.org |hrsg=Gnu Org |datum=2012-04-06 |sprache=en |abruf=2022-05-04}}&lt;/ref&gt; wurde 2010 die Umstellungen der gcc-Quellen auf C++ geplant und begonnen. Ziel dieser Umstellung ist, die GCC verständlich und wartbar zu halten. Im Nachfolgeprojekt&lt;ref&gt;{{Internetquelle |url=https://gcc.gnu.org/wiki/cxx-conversion |titel=cxx-conversion - GCC Wiki |werk=gcc.gnu.org |datum=2012-12-11 |sprache=en |abruf=2022-05-04}}&lt;/ref&gt; wurde auch die noch fehlende Stufe 1 des GCC-Bauprozesses auf C++-Code umgestellt.&lt;ref&gt;{{Internetquelle | url= https://www.heise.de/newsticker/meldung/GCC-setzt-intern-verstaerkt-auf-C-1668224.html | titel= GCC setzt intern verstärkt auf C++ | autor = Thorsten Leemhuis | hrsg=heise.de | datum=2012-08-16 | zugriff=2015-04-26 |sprache=}}&lt;/ref&gt; Ausnahmen sind Backends, die in wesentlichen Teilen in RTL formuliert sind, sowie das Ada-Frontend, welches zum größten Teil in Ada geschrieben ist.</div></td> </tr> </table> 87.245.17.222 https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=244421439&oldid=prev RolandIllig: /* Frontends */ relative Zeitangabe gelöscht 2024-04-26T18:11:06Z <p><span class="autocomment">Frontends: </span> relative Zeitangabe gelöscht</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 26. April 2024, 20:11 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 119:</td> <td colspan="2" class="diff-lineno">Zeile 119:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Frontends ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Frontends ===</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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 verwenden handgeschriebene, rekursive Parser.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>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 verwenden handgeschriebene, rekursive Parser.</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><br /></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Bis vor kurzem war die Baumrepräsentation des Programms nicht völlig vom Zielprozessor unabhängig. Die Bedeutung eines Baums konnte für unterschiedliche Sprachfrontends unterschiedlich sein, und Frontends konnten ihren eigenen Baumcode zur Verfügung stellen.</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mit dem Tree-[[Static Single Assignment|SSA]]-Projekt, das in die Version GCC 4.0 integriert wurde, 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 sogenannte „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 kann.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Mit dem Tree-[[Static Single Assignment|SSA]]-Projekt, das in die Version GCC 4.0 integriert wurde, 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 sogenannte „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 kann.</div></td> </tr> </table> RolandIllig https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=241501640&oldid=prev Rudolf.l.s: /* Siehe auch */ +Wikilink 2024-01-24T14:52:07Z <p><span class="autocomment">Siehe auch: </span> +Wikilink</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 24. Januar 2024, 16:52 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 140:</td> <td colspan="2" class="diff-lineno">Zeile 140:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Siehe auch ==</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU Compiler for Java]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU Compiler for Java]]</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU Pascal]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU Fortran]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU Fortran]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU Debugger]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU Debugger]]</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU <del style="font-weight: bold; text-decoration: none;">Pascal</del>]]</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU <ins style="font-weight: bold; text-decoration: none;">Assembler</ins>]]</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU Make]]</div></td> </tr> <tr> <td colspan="2" class="diff-empty diff-side-deleted"></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>* [[GNU_Build_System]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[distcc]], [[ccache]]</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[distcc]], [[ccache]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[MinGW]], eine Portierung auf Windows</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [[MinGW]], eine Portierung auf Windows</div></td> </tr> </table> Rudolf.l.s https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=241467822&oldid=prev Rudolf.l.s: /* Weblinks */ 20 Jahr alte Page nicht mehr vorhanden 2024-01-23T15:05:15Z <p><span class="autocomment">Weblinks: </span> 20 Jahr alte Page nicht mehr vorhanden</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 23. Januar 2024, 17:05 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 158:</td> <td colspan="2" class="diff-lineno">Zeile 158:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Commons|GCC|GNU Compiler Collection}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Commons|GCC|GNU Compiler Collection}}</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://gcc.gnu.org GCC, the GNU Compiler Collection] – offizielle Website (englisch)</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* [https://gcc.gnu.org GCC, the GNU Compiler Collection] – offizielle Website (englisch)</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>* [http://www.lcs-chemie.de/c_comp.htm Kurzanleitung für den GCC]</div></td> <td colspan="2" class="diff-empty diff-side-added"></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Normdaten|TYP=s|GND=4294848-4}}</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>{{Normdaten|TYP=s|GND=4294848-4}}</div></td> </tr> </table> Rudolf.l.s https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=240252748&oldid=prev Nameless23: /* EGCS */ +Wikilink 2023-12-16T23:28:44Z <p><span class="autocomment">EGCS: </span> +Wikilink</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 17. Dezember 2023, 01:28 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 36:</td> <td colspan="2" class="diff-lineno">Zeile 36:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>1997 spaltete sich das Projekt ''Experimental/Enhanced GNU Compiler System'' (''EGCS'', engl. für ''experimentelles/verbessertes GNU-Compilersystem'') von GCC ab, und wurde 1999 mit diesem wieder vereinigt.&lt;ref&gt;{{Internetquelle |url=http://gnu.ist.utl.pt/software/gcc/faq.html#gcc |titel=GCC FAQ: What is the relationship between GCC and EGCS? |werk=gnu.ist.utl.pt |datum=2006-06-21 |sprache=en |abruf=2022-06-02}}&lt;/ref&gt;</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>1997 spaltete sich das Projekt ''Experimental/Enhanced GNU Compiler System'' (''EGCS'', engl. für ''experimentelles/verbessertes GNU-Compilersystem'') von GCC ab, und wurde 1999 mit diesem wieder vereinigt.&lt;ref&gt;{{Internetquelle |url=http://gnu.ist.utl.pt/software/gcc/faq.html#gcc |titel=GCC FAQ: What is the relationship between GCC and EGCS? |werk=gnu.ist.utl.pt |datum=2006-06-21 |sprache=en |abruf=2022-06-02}}&lt;/ref&gt;</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>GCC 1.x hatte 1991 eine gewisse Stabilität erreicht, jedoch verhinderten architekturbedingte Einschränkungen viele Verbesserungen, sodass die [[Free Software Foundation]] (FSF) damit begann, GCC 2.x zu entwickeln. Mitte der 1990er kontrollierte die FSF jedoch sehr genau, was zu GCC 2.x hinzugefügt werden durfte und was nicht, sodass GCC als Beispiel für das „Cathedral“-Entwicklungsmodell Verwendung fand, das Eric S. Raymond in seinem Buch [[Die Kathedrale und der Basar]] beschreibt.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>GCC 1.x hatte 1991 eine gewisse Stabilität erreicht, jedoch verhinderten architekturbedingte Einschränkungen viele Verbesserungen, sodass die [[Free Software Foundation]] (FSF) damit begann, GCC 2.x zu entwickeln. Mitte der 1990er kontrollierte die FSF jedoch sehr genau, was zu GCC 2.x hinzugefügt werden durfte und was nicht, sodass GCC als Beispiel für das „Cathedral“-Entwicklungsmodell Verwendung fand, das <ins style="font-weight: bold; text-decoration: none;">[[</ins>Eric S. Raymond<ins style="font-weight: bold; text-decoration: none;">]]</ins> in seinem Buch [[Die Kathedrale und der Basar]] beschreibt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Da GCC freie Software ist, ist es Programmierern, die in eine andere Richtung arbeiten wollten, erlaubt, eigene [[Abspaltung (Softwareentwicklung)|Abspaltungen]] zu entwickeln. Viele Abspaltungen erwiesen sich jedoch als ineffizient und unübersichtlich. Dass ihre Arbeiten vom offiziellen GCC-Projekt oft nicht, oder nur unter Schwierigkeiten akzeptiert wurden, frustrierte viele Entwickler.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Da GCC freie Software ist, ist es Programmierern, die in eine andere Richtung arbeiten wollten, erlaubt, eigene [[Abspaltung (Softwareentwicklung)|Abspaltungen]] zu entwickeln. Viele Abspaltungen erwiesen sich jedoch als ineffizient und unübersichtlich. Dass ihre Arbeiten vom offiziellen GCC-Projekt oft nicht, oder nur unter Schwierigkeiten akzeptiert wurden, frustrierte viele Entwickler.</div></td> </tr> </table> Nameless23 https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=239962394&oldid=prev Y2kbug: Linkfix Ubuntu 2023-12-07T15:25:34Z <p>Linkfix Ubuntu</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 7. Dezember 2023, 17:25 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 45:</td> <td colspan="2" class="diff-lineno">Zeile 45:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Zielsysteme ==</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Zielsysteme ==</div></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:GCC 4.1.3 ubuntu7.10 de.png|mini|GCC 4.1.3 in einem ''[[Kommandozeile]]n''-Fenster unter [[Ubuntu]] 7.10 mit [[Gnome]] 2.20]]</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[Datei:GCC 4.1.3 ubuntu7.10 de.png|mini|GCC 4.1.3 in einem ''[[Kommandozeile]]n''-Fenster unter [[<ins style="font-weight: bold; text-decoration: none;">Ubuntu (Betriebssystem)|</ins>Ubuntu]] 7.10 mit [[Gnome]] 2.20]]</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das GCC-Projekt bezeichnet einige Plattformen offiziell als primäre und andere als sekundäre Evaluationsplattformen. Vor jeder Veröffentlichung einer neuen Version werden insbesondere diese beiden Gruppen getestet. GCC kann Programme für folgende Befehlssatzarchitekturen erzeugen (primäre und sekundäre Evaluationsplattformen sind markiert):</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Das GCC-Projekt bezeichnet einige Plattformen offiziell als primäre und andere als sekundäre Evaluationsplattformen. Vor jeder Veröffentlichung einer neuen Version werden insbesondere diese beiden Gruppen getestet. GCC kann Programme für folgende Befehlssatzarchitekturen erzeugen (primäre und sekundäre Evaluationsplattformen sind markiert):</div></td> </tr> </table> Y2kbug https://de.wikipedia.org/w/index.php?title=GNU_Compiler_Collection&diff=239696993&oldid=prev TabellenBot: 2x externen Link aus Vorlage:Internetquelle entfernt (werk=https://gcc.gnu.org/ ). 2023-12-03T13:48:20Z <p>2x externen Link aus <a href="/wiki/Vorlage:Internetquelle" title="Vorlage:Internetquelle">Vorlage:Internetquelle</a> entfernt (werk=https://gcc.gnu.org/ ).</p> <table style="background-color: #fff; color: #202122;" data-mw="interface"> <col class="diff-marker" /> <col class="diff-content" /> <col class="diff-marker" /> <col class="diff-content" /> <tr class="diff-title" lang="de"> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Nächstältere Version</td> <td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version vom 3. Dezember 2023, 15:48 Uhr</td> </tr><tr> <td colspan="2" class="diff-lineno">Zeile 115:</td> <td colspan="2" class="diff-lineno">Zeile 115:</td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Jeder Sprachcompiler ist ein separates Programm, das Quellcode entgegennimmt und Assemblersprache produziert. Im Schema auf der rechten Seite sind Beispiele für C und Assembler gegeben, welche sich beide dem [[Präprozessor|Preprocessing]] unterziehen müssen, bei dem Compiler[[makro]]s, eingebundene [[Header-Datei]]en und Ähnliches umgewandelt werden, um reinen C-Code bzw. Assembler zu erhalten. Jenes sprachabhängige [[Frontend]] [[Parser|parst]] die entsprechende Sprache und erzeugt einen [[Abstrakter Syntaxbaum|abstrakten]] [[Syntaxbaum]], der an ein [[Front-End und Back-End|Backend]] übergeben wird, das den Baum in GCCs ''{{lang|en|Register Transfer Language}} (RTL)'' überführt (im Diagramm nicht gezeigt), verschiedene [[Compiler#Programmoptimierung (ausführlich)|Codeoptimierungen]] durchführt und zum Schluss [[Assemblersprache]] erzeugt.</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Jeder Sprachcompiler ist ein separates Programm, das Quellcode entgegennimmt und Assemblersprache produziert. Im Schema auf der rechten Seite sind Beispiele für C und Assembler gegeben, welche sich beide dem [[Präprozessor|Preprocessing]] unterziehen müssen, bei dem Compiler[[makro]]s, eingebundene [[Header-Datei]]en und Ähnliches umgewandelt werden, um reinen C-Code bzw. Assembler zu erhalten. Jenes sprachabhängige [[Frontend]] [[Parser|parst]] die entsprechende Sprache und erzeugt einen [[Abstrakter Syntaxbaum|abstrakten]] [[Syntaxbaum]], der an ein [[Front-End und Back-End|Backend]] übergeben wird, das den Baum in GCCs ''{{lang|en|Register Transfer Language}} (RTL)'' überführt (im Diagramm nicht gezeigt), verschiedene [[Compiler#Programmoptimierung (ausführlich)|Codeoptimierungen]] durchführt und zum Schluss [[Assemblersprache]] erzeugt.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker" data-marker="−"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>Ursprünglich wurden die meisten Bestandteile der GCC in C geschrieben. Im Rahmen des Vorhabens „GCC in Cxx“&lt;ref&gt;{{Internetquelle |url=https://gcc.gnu.org/wiki/gcc-in-cxx |titel=THE GCC Wiki - gcc-in-cxx |werk=<del style="font-weight: bold; text-decoration: none;">https://</del>gcc.gnu.org |hrsg=Gnu Org |datum=2012-04-06 |sprache=en |abruf=2022-05-04}}&lt;/ref&gt; wurde 2010 die Umstellungen der gcc-Quellen auf C++ geplant und begonnen. Ziel dieser Umstellung ist, die GCC verständlich und wartbar zu halten. Im Nachfolgeprojekt&lt;ref&gt;{{Internetquelle |url=https://gcc.gnu.org/wiki/cxx-conversion |titel=cxx-conversion - GCC Wiki |werk=<del style="font-weight: bold; text-decoration: none;">https://</del>gcc.gnu.org<del style="font-weight: bold; text-decoration: none;">/</del> |datum=2012-12-11 |sprache=en |abruf=2022-05-04}}&lt;/ref&gt; wurde auch die noch fehlende Stufe 1 des GCC-Bauprozesses auf C++-Code umgestellt.&lt;ref&gt;{{Internetquelle | url= https://www.heise.de/newsticker/meldung/GCC-setzt-intern-verstaerkt-auf-C-1668224.html | titel= GCC setzt intern verstärkt auf C++ | autor = Thorsten Leemhuis | hrsg=heise.de | datum=2012-08-16 | zugriff=2015-04-26 |sprache=}}&lt;/ref&gt; Ausnahmen sind Backends, die in wesentlichen Teilen in RTL formuliert sind, sowie das Ada-Frontend, welches zum größten Teil in Ada geschrieben ist.</div></td> <td class="diff-marker" data-marker="+"></td> <td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>Ursprünglich wurden die meisten Bestandteile der GCC in C geschrieben. Im Rahmen des Vorhabens „GCC in Cxx“&lt;ref&gt;{{Internetquelle |url=https://gcc.gnu.org/wiki/gcc-in-cxx |titel=THE GCC Wiki - gcc-in-cxx |werk=gcc.gnu.org |hrsg=Gnu Org |datum=2012-04-06 |sprache=en |abruf=2022-05-04}}&lt;/ref&gt; wurde 2010 die Umstellungen der gcc-Quellen auf C++ geplant und begonnen. Ziel dieser Umstellung ist, die GCC verständlich und wartbar zu halten. Im Nachfolgeprojekt&lt;ref&gt;{{Internetquelle |url=https://gcc.gnu.org/wiki/cxx-conversion |titel=cxx-conversion - GCC Wiki |werk=gcc.gnu.org |datum=2012-12-11 |sprache=en |abruf=2022-05-04}}&lt;/ref&gt; wurde auch die noch fehlende Stufe 1 des GCC-Bauprozesses auf C++-Code umgestellt.&lt;ref&gt;{{Internetquelle | url= https://www.heise.de/newsticker/meldung/GCC-setzt-intern-verstaerkt-auf-C-1668224.html | titel= GCC setzt intern verstärkt auf C++ | autor = Thorsten Leemhuis | hrsg=heise.de | datum=2012-08-16 | zugriff=2015-04-26 |sprache=}}&lt;/ref&gt; Ausnahmen sind Backends, die in wesentlichen Teilen in RTL formuliert sind, sowie das Ada-Frontend, welches zum größten Teil in Ada geschrieben ist.</div></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br /></td> </tr> <tr> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Frontends ===</div></td> <td class="diff-marker"></td> <td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== Frontends ===</div></td> </tr> </table> TabellenBot