GCC/G++: Як знайти налаштування -march=... для поточної платформи

Метод 1: Явно знайти налаштування -march

Щоб визначити, яке налаштування -march=... підходить для вашої поточної платформи під час використання GCC або G++, ви можете скористатися такою командою:

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

Приклад виводу

find_march_output.txt
znver3

У цьому прикладі вивід вказує, що архітектура — znver3, що відповідає архітектурі AMD Zen 3.

Метод 2: Використати -march=native

Якщо ви компілюєте на тому ж типі машини, на якому запускатиметься код, ви можете використати параметр -march=native. Це вказує компілятору автоматично визначити архітектуру хост-машини та оптимізувати код відповідним чином.

Приклад команди:

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

Дивіться схожі статті за категоріями: GCC C/C++