Heim > Backend-Entwicklung > C++ > Hauptteil

Wie bestimme ich den von g verwendeten Standard-C-Standard?

DDD
Freigeben: 2024-11-17 06:08:03
Original
714 Leute haben es durchsucht

How to Determine the Default C   Standard Used by g  ?

C-Standarderkennung in g

In C kann die Standard-Compilerversion das Verhalten und die Kompatibilität Ihres Codes beeinflussen. Beim Kompilieren mit g ist das Verständnis des Standardstandards von entscheidender Bedeutung.

Beachten Sie den folgenden Codeausschnitt:

#include <fstream>
#include <string>

int main() {
    std::string filename = "input.txt";
    std::ifstream in(filename);

    return 0;
}
Nach dem Login kopieren

Wenn Sie diesen Code unter Windows mit dem Befehl g example.cpp kompilieren, kann dies der Fall sein Fehler aufgrund von Linkerfehlern im Zusammenhang mit der Konvertierung von std::string in const char*. Durch die Angabe eines bestimmten C-Standards mithilfe von g -std=c 17 example.cpp wird dieses Problem jedoch behoben.

Um den von g verwendeten Standard-C-Standard zu ermitteln, können Sie den folgenden Befehl ausführen:

g++ -dM -E -x c++ /dev/null | grep -F __cplusplus
Nach dem Login kopieren

Wenn Sie beispielsweise diesen Befehl auf der Ubuntu 4.8.4-Version von g verwenden, erhalten Sie die Ausgabe:

#define __cplusplus 199711L
Nach dem Login kopieren

Dies zeigt an, dass der Standard-C-Standard für diese Version von g C 98 ist ( 199711L stellt die Revision des C-Standards vom November 1997 dar).

Es wird empfohlen, beim Kompilieren mit g immer den gewünschten C-Standard explizit anzugeben. Dadurch wird sichergestellt, dass der Code dem vorgesehenen Standard entspricht und potenzielle Kompatibilitätsprobleme vermieden werden, die durch die Verwendung eines veralteten oder unerwünschten Standards entstehen können.

Das obige ist der detaillierte Inhalt vonWie bestimme ich den von g verwendeten Standard-C-Standard?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage