Welcher C ++ - Compiler benutzt mein Programm?

8

Ich bin nicht sehr Experte in cpp Programmierung, eher ein Anfänger in der enormen Welt der Programmierung, wie heutzutage wir nur jede IDE installieren und beginnen mit unseren Programmen darin. Ich fing an, CodeBlocks IDE zu verwenden, aber nur aus Neugier wollte wissen, welcher Compiler ist mein Programm verwenden, wie es 4.3.2 oder 4.0.8 oder vielleicht etwas anderes sein kann

Ich habe versucht, durch die Build-Protokolle zu lesen, es war nicht da, ein kleiner Google half auch nicht.

Gibt es einen einfachen Befehl, den ich in meinem cpp-Programm ausführen kann, und prüfe, welchen Compiler meine IDE benutzt?

Vielen Dank im Voraus.

    
Dharamveer Singh Chouhan 06.08.2011, 17:46
quelle

4 Antworten

3

Sie können die Makros verwenden

%Vor%

Siehe Ссылка

Andere Compiler stellen ihre eigenen Makros zur Verfügung, z. B. Microsofts _MSC_VER

Hier ist eine sehr umfassende Liste mit Dutzenden von Compilern: Ссылка und Ссылка

    
Ben Voigt 06.08.2011, 18:50
quelle
2

Laut Codeblocks-FAQ :

  

In der Tat hängt es weitgehend vom verwendeten Compiler-Plugin ab. Einige, die mit der Standardinstallation von Code :: Blocks ausgestattet sind, sind GNU GCC (MinGW / Cygwin), MS Visual C ++ Free Toolkit 2003, Borland C ++ Compiler 5.5, DigitalMars Free Compiler, OpenWatcom, Small Device C Compiler (SDCC) und andere. p>

    
Chris Eberle 06.08.2011 17:49
quelle
2

Code :: Blocks ist eine sehr generische IDE, die viele Compiler verwenden kann. Sie können sogar verschiedene Compiler für jedes Projekt haben.

Je nachdem, welche Version Sie installiert haben (ich habe den Build Nov 11 2009 unter Windows), wenn Sie ein Projekt geladen haben, können Sie zum "Projektmenü" gehen - & gt; "Build options" Element und Sie werden sehen, welchen Compiler Sie für dieses Projekt verwenden - notieren Sie es. Schließen Sie das Fenster und gehen Sie dann zum Menü "Einstellungen" - & gt; "Compiler und Debugger ..." Element. In dem angezeigten Fenster stellen Sie sicher, dass das Symbol "Globale Compilereinstellungen" in der Liste links ausgewählt ist. Wechseln Sie zur Seite "Toolchain executables", von der Sie den genauen Pfad zur ausführbaren Compilerdatei Ihres Projekts abrufen können, indem Sie sicherstellen, dass das Dropdown-Feld "Ausgewählter Compiler" am oberen Bildschirmrand mit dem für Ihr Projekt übereinstimmt.

Die andere Möglichkeit, diese Informationen zu erhalten, besteht darin, Ihr Projekt zu erstellen und dann zum "Build log" zu wechseln. Die Befehlszeile sollte mindestens die ausführbare Datei des Compilers als Teil des angezeigten Dateinamens enthalten.

Aus dem Compiler-Dateinamen können Sie dann feststellen, ob es sich um eine Art von GCC-Derivat oder etwas anderes (wie MSVC) handelt. An diesem Punkt wird es compilerspezifisch, um herauszufinden, welche Version Sie verwenden. Wenn es sich zum Beispiel um GCC oder einen Port handelt, können Sie Folgendes ausführen:

%Vor%

von einer Eingabeaufforderung / Shell, um die Versionsnummer zu erhalten.

Wenn es MSVC ist, dann führen Sie einfach:

%Vor%

zeigt die Versionsnummer an.

Wenn Sie es von Ihrem Compiler aus tun möchten (obwohl es technisch der Präprozessor ist), müssen Sie die obigen Informationen kennen, um zu wissen, was Ihr Compiler ist, da Sie die Präprozessor-Makros kennen müssen Compiler abhängig.

Auf der positiven Seite wird Code :: Blocks wahrscheinlich GCC verwenden, es sei denn, Sie haben die Version ohne MinGW unter Windows speziell heruntergeladen. Sie können also wahrscheinlich die von Ben Voigt beschriebene Methode anwenden.

Bearbeiten: fehlende Zeilenumbrüche verbargen die Befehlszeilen der Compiler-Version

    
tinman 06.08.2011 23:04
quelle
1

Wahrscheinlich nicht, es gibt verschiedene Makros, die von der Programmierumgebung definiert werden (die Version des OS / SDKs usw.), aber diese werden normalerweise durch Include-Dateien und nicht durch den Compiler festgelegt.

Der Compiler könnte seine eigenen Symbole definieren, aber Sie müssten die Compiler-Dokumente überprüfen.

Sie könnten den Pfad überprüfen und versuchen, den Compiler (typischerweise cc oder cl) mit einem "-v" oder "/?" auszuführen. Markieren, um zu sehen, was es berichtet

    
Martin Beckett 06.08.2011 17:50
quelle

Tags und Links