* Joachim Hussong (joachim.hussong@gmx.de) [20000203 09:26]:
Welcher ist denn nun empfehlenswert? Es heisst immer GCC währe nicht EGCS, aber dann doch?
Welchen muss ich nehmen, wenn ich Kernels compilieren will? Da gab es doch Einschränkungen bei dem einen oder anderen?
Schau Dir mal http://gcc.gnu.org/news.html an, da kannst Du die Geschichte
des egcs verfolgen. Das egcs Projekt wurde aus mehreren Gründen ins Leben
gerufen. Es hatte lange keine neue Version des GCC gegeben und der C++ Teil
war hoffnungslos veraltet. Ausserdem geschah die Entwicklung des GCC hinter
verschlossenen Türen und hatte nur einen zentralen Maintainer, mit dem
einige Entwickler ihre liebe Not hatten, bzw. einfach ds Handtuch warfen.
Das EGCS Projekt wurde von vornherein ganz anders aufgezogen. Die
Entwicklung geschah öffentlich, Diskussion wurde über öffentliche
Mailinglisten geführt, es gab regelmässige Schnappschüsse und anonymen CVS
Zugriff. Oberstes Gremium des Projekts wurde ein Steuerungs-Kommitee, in dem
Vertreter verschiedener Firmen und Organisationen sassen. Damit war
sichergestellt, das niemand allein die Entwicklung beeinflussen konnte. Die
Verantwortung des Maintainers wurde auf mehrere Personen verteilt, jeweils
einen für jeden Sprachzweig.
All diese Massnahmen führten dazu, dass das EGCS Projekt rasante
Fortschritte machte. So wurde zunächst g77, der Fortran Kompiler integriert
und später kamen noch Chill und Java hinzu. Aber vor allem der C++ Teil
machte Riesenfortschritte. Mittlerweile ist g++, mit Ausnahme der libstdc++,
ein (weitgehend) ISO C++ konformer Kompiler, der sich vor keinem der
kommerziellen Kompiler verstecken braucht, sondern in machen Fällen
konformer als die 'Konkurenz' ist. Dabei war man immer bemüht, so nah wie
möglich am GCC zu bleiben, sprich es wurden mit schöner Regelmässigkeit
Entwicklungen vom GCC 2.8 übernommen.
Auf die Dauer war die Existenz zweier GCC-Linien natürlich ein unhaltbarer
Zustand. Allso setzte man sich mit der FSF zusammen und das Ergebnis war,
das im April letzten Jahres dem EGCS Steuerungskommitee die Verantwortung
für den GCC übertragen wurde. Seit dem Zeitpunkt gibt es nur noch einen
Kompiler, den GCC. 2.95.2 ist also die aktuellste freigegebene Version.
Wer C++ programmiert und einen standardkonformen Kompiler haben möchte,
kommt um 2.95.2 oder sogar die CVS Version nicht herum. Aber auf in Sachen C
hat der GCC deutlich zugelegt. Nur für Kernel 2.0.X braucht man noch den gcc
2.7.3, für alles andere kann der 2.95.2 verwendet werden. Probleme kann es
mit schlecht geschriebener Software geben, weil hier der Kompiler sich
verweigert, was aber vollkommen korrekt ist.
Reicht das jetzt an Information? :-)))))
Philipp
--
Philipp Thomas