Compiler überprüfen
-
Hallo,
kann mir jemand sagen, ob es ein Makro gibt, dass standardmäßig Ausschluss darauf gibt, ob der Visual Studio VC-Compiler benutzt wird?
Ich würde gerne vor einem Code-Segment darauf prüfen, genau wie man es ja mit
#ifdef __cplusplus // C++-Code #else // C-Code #endifmachen kann.
-
Hallo,
soweit ich weiß ist der MS Compiler der einzige C++/CLI Compiler. Wofür brauchst du dann so eine überprüfung?
-
Zwergli schrieb:
Hallo,
soweit ich weiß ist der MS Compiler der einzige C++/CLI Compiler. Wofür brauchst du dann so eine überprüfung?
Ach verdammt,
natürlich falsches Subforum. Gehört natürlich in den reinen C++-Bereich.
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum C++/CLI mit .NET in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
_MSC_VER
-
Für Windows allgemein kannst du
#ifdef _WIN32benutzen
und für den MSVC-Compiler#ifdef _MSC_VERbzw. sogar noch explizit die Version (s. http://support.microsoft.com/kb/65472 und http://msdn.microsoft.com/en-us/library/b0084kay.aspx) abfragen:
#if _MSC_VER >= 1500 // mindestens MSVC 2008
-
Th69 schrieb:
Für Windows allgemein kannst du
#ifdef _WIN32sicher?
glaub ich nicht...
imho hat "nur" der MSVC dieses makro - allerdings definiert er das auch nur, wenn es nicht für ein 64bit Windows ist:#ifdef _MSC_VER # if defined(_WIN32) || defined(_WIN64) # define PREFIX_WINDOWS # endif #else # error unknown compiler #endifallerdings kann man beim msvc ja (fast) schon sicher sein, dass du für windows programmierst!?
bb
-
allerdings kann man beim msvc ja (fast) schon sicher sein, dass du für windows programmierst!?
Vielleicht möchte er sein Programm nur an mehrere Compiler anpassen... Mache ich bei einem meiner Projekte auch, da es sich um eine (dynamische) Bibliothek handelt und der VC++ da eine Extrawurst verlangt (dllexport/-import)...
-
Mr X schrieb:
allerdings kann man beim msvc ja (fast) schon sicher sein, dass du für windows programmierst!?
Vielleicht möchte er sein Programm nur an mehrere Compiler anpassen... Mache ich bei einem meiner Projekte auch, da es sich um eine (dynamische) Bibliothek handelt und der VC++ da eine Extrawurst verlangt (dllexport/-import)...
ja - ich meinte damit nur, dass die abfrage
#if _MSC_VERschon reicht, um sicherzugehen, dass es für windows ist...
und man nicht noch mal extra auf _WIN32 bzw _WIN64 prüfen muss..bb
-
Eine Reihe verschiedener Makros, an Hand derer man den Compiler identifizieren kann, sieht man z.B. in Boosts select_compiler_config. Weitere findet man wenn man sich in den ganzen config-headern umschaut.