Ermitteln von Compiler-Versionen während der Kompilierzeit

8

Dies ist sowohl eine Frage als auch eine Referenz und ich hoffe, dass die Menschen darauf aufbauen können, damit sie von Menschen mit ähnlichen Fragen wiederverwendet werden können.

Wie können wir eine bestimmte Version eines C / C ++ / ObjC-Compilers zuverlässig erkennen? Jetzt kenne ich die Antwort für Visual Studio und kenne teilweise die Antwort für Xcode.

Nun haben wir für den Visual Studio-Compiler _MSC_VER, der mit diesen Werten definiert ist:

%Vor%

Nun für den Xcode-Compiler haben wir dies definieren:

%Vor%

Aber die einzigen Werte, die ich über Google gefunden habe (Mac-Dokumente scheinen diese Werte nicht zu haben) sind:

%Vor%

Kann jemand diese Liste vervollständigen oder Links zu einer vollständigen Liste hinzufügen? Und vielleicht können wir auch Informationen für andere Compiler bereitstellen.

    
Cthutu 28.08.2010, 22:50
quelle

2 Antworten

1

Als jemand, der mehr als seinen gerechten Anteil an "C" herumgetragen hat, kann ich sehen, woher du kommst, also hier sind einige, um uns zu beginnen:

Für IBM CL / C ++ - Compiler:

%Vor%

Für Borland C:

%Vor%

Für GNU C:

%Vor%

Für Watcon C:

%Vor%     
Stephen Gennard 09.03.2011, 14:48
quelle
0

Es gibt eine Tabelle mit diesen Informationen hier:

Ссылка

Traurigerweise scheint MacOS __clang__ , __GNUCC__ und __llvm__ zu definieren, damit diese Information ein wenig verwirrt werden kann.

Aber normalerweise gilt nur ein Satz von Informationen.

    
Jesse Chisholm 25.08.2017 16:01
quelle