GCC/G++: Wie man die -march=... Einstellung für die aktuelle Plattform findet

Methode 1: Explizit die -march-Einstellung finden

Um zu bestimmen, welche -march=...-Einstellung für Ihre aktuelle Plattform geeignet ist, wenn Sie GCC oder G++ verwenden, können Sie den folgenden Befehl verwenden:

find_march.sh
g++ -march=native -Q --help=target | grep march= | head -n1 | cut -f3-

Beispiel-Ausgabe

find_march_output.txt
znver3

In diesem Beispiel zeigt die Ausgabe, dass die Architektur znver3 ist, was AMDs Zen 3-Architektur entspricht.

Methode 2: -march=native verwenden

Wenn Sie auf demselben Maschinentyp kompilieren, auf dem der Code ausgeführt wird, können Sie die Option -march=native verwenden. Dies weist den Compiler an, die Architektur der Host-Maschine automatisch zu erkennen und den Code entsprechend zu optimieren.

Beispielbefehl:

compile_native.sh
g++ -march=native -o my_program my_program.cpp

Check out similar posts by category: GCC, C/C++