Welcher _aktuelle_ Compiler ist am meisten Standardkonform?
-
Welcher aktuelle Compiler ist am meisten Standardkonform?
Also bitte jetzt nur die compiler in den neusten versionen vergleichen und nicht etwa Compiler A (neuste version) mit Compiler B (version aus 1982) vergleichen.
-
Konform zu welchem Standard?
-
Hem, wie soll man das denn messen? Das Problem ist, das jeder Compiler noch Deffizite hat, den Standard voll zu erfüllen. Was soll man mehr gewichten, wenn ein Feature unterstützt und das andere nicht? Weil am Ende muß jedes Feature drin sein. Viele werden jetzt den Comenau nennen (sorry, weiß nicht wie der geschrieben wird). Aber soweit ich weiß (korrigiert mich bitte!) ist das kein vollständiges Compiler-Tool, sondern nur eine Art Frontend, der ohne einen Backend nicht leben kann.
Wenn ich den MSVC nehme, ist das ein komplettes Compiler-Tool, hat aber kein export-Schlüsselwort. Was aber der Comenau wiederrum unterstützt.
Ich würde das ganze so messen: welche Compiler werden von der Boost-Community gerne benutzt, weil dort am wenigsten Workarounds nötig sind? Und das sind eigentlich die bekannten: Comenau, MSVC, ICC und g++. Viele andere Compiler, wie BCB ist z.B. bei Boost nicht sehr beliebt.
-
-
Artchi schrieb:
Tim schrieb:
Konform zu welchem Standard?
C++? Weil c-plusplus.net?
Anzunehmen, aber nicht hinreichend genau.
-
Ich meine für C und C++.
Also welcher C compiler ist C99 am konformsten?
Welcher C++ compiler ist dem aktuellen C++ Standard am konformsten?
-
stdkonf schrieb:
Also welcher C compiler ist C99 am konformsten?
Von normalen x86-Compilern dürften gcc und Comeau sehr nahe dran sein. Und da Microsoft und Borland C99 komplett ignorieren...
http://www.comeaucomputing.com/features.html#c99
http://gcc.gnu.org/c99status.html
-
Und da Microsoft und Borland C99 komplett ignorieren...
Natürlich, sind meines Wissen sauch keine C und C++ Tools, sondern C++-Tools. VisualC++ heißt das MS-Ding und nicht VisualC/C++.
MS wird C99 unterstützen, wenn C++0x dies vorgibt.
-
Artchi schrieb:
Und da Microsoft und Borland C99 komplett ignorieren...
Natürlich, sind meines Wissen sauch keine C und C++ Tools, sondern C++-Tools.
Aha, und deswegen hat der Compiler auch einen C-Mode, verstehe...
-
Tim schrieb:
Aha, und deswegen hat der Compiler auch einen C-Mode, verstehe...
Ja, genau... Und zwar einen *C*-Mode und *keinen* ANSI-C99-Mode
-
Jochen Kalmbach schrieb:
Tim schrieb:
Aha, und deswegen hat der Compiler auch einen C-Mode, verstehe...
Ja, genau... Und zwar einen *C*-Mode und *keinen* ANSI-C99-Mode
Verdammt, ich wollte noch C89-Mode schreiben
-
Vielleicht ist das historisch bedingt? Schon mal darüber nachgedacht?!
Schliesslich ist der MS-Compiler über 20 Jahre alt. Das heißt aber nicht, das MS deshalb aktiv am C-Teil aktiv weiter arbeiten, und sich nen Klotz ans Bein bindenmuß. Wozu auch, wenn keine Nachfrage da ist. C++ reicht aus.
-
(Leider) hast Du recht mit Deiner Zeitangabe...
Das ist auch der Grund, warum MS seit längerer Zeit schon an einem *komplett* neuen Compiler (-Framework) arbeitet:
http://research.microsoft.com/phoenix/Meine Vermutung ist aber: Er wird nicht vor VS2008+2 fertig werden...
-
Artchi schrieb:
Vielleicht ist das historisch bedingt? Schon mal darüber nachgedacht?!
Natürlich ist das historisch bedingt. Das macht den MSVC aber trotzdem nicht C++-only so wie du das beschrieben hast. Und dass MS keinen Bedarf an C99 sieht ist ja mehr als offensichtlich.