GCC/G++: Jak najít -march=... nastavení pro aktuální platformu

Metoda 1: Explicitně najít nastavení -march

Pro určení, jaké nastavení -march=... je vhodné pro vaši aktuální platformu při použití GCC nebo G++, můžete použít následující příkaz:

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

Příklad výstupu

find_march_output.txt
znver3

V tomto příkladu výstup indikuje, že architektura je znver3, což odpovídá architektuře AMD Zen 3.

Metoda 2: Použít -march=native

Pokud kompilujete na stejném typu stroje, kde bude kód běžet, můžete použít volbu -march=native. To říká kompilátoru, aby automaticky detekoval architekturu hostitelského stroje a optimalizoval kód odpovídajícím způsobem.

Příklad příkazu:

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

Podívejte se na podobné články podle kategorie: GCC C/C++