3

Недавно я обнаружил, что когда я собираю свое программное обеспечение на C++, я использую опцию g++ march = native примерно на 10%. При компиляции gcc и libstc++ возможно ли также настроить библиотеку libstdc++ на нативную архитектуру? Я не нашел упоминаний об этом в документации по установке gcc. (Я собираю gcc 4.6.2 на Linux Mint 11 с процессором Intel Core i7 Sandy Bridge-E.)

Разъяснение:

Обычно я собираю libstc++ при сборке gcc, например, именно это я и делаю, и я собираюсь добавить некоторые параметры настройки:

$ wget http://mirrors-us.seosue.com/gcc/releases/gcc-4.6.2/gcc-4.6.2.tar.gz 
$ tar -xzf gcc-4.6.2.tar.gz 
$ mkdir gcc-4.6.2-objdir 
$ cd gcc-4.6.2-objdir/ 
$ ../gcc-4.6.2/configure 
$ make
# make install

1 ответ1

0

Если вы сами не скомпилировали libstc++, скорее всего, вы просто загрузили объектные файлы. Если это так, то вы не сможете ничего изменить по этому поводу.

Чтобы получить производительность, которую вы ищете, вам, возможно, придется скачать исходный код и скомпилировать его с параметрами, которые вы хотите использовать.

Заметки:

Если в системе установлено несколько версий libstc++, это может быть сложно (у меня было несколько проблем с этим в Ubuntu, и я решил полностью удалить одну из версий, чтобы решить ее, хотя я уверен, что есть способ управления Это).

Если вы компилируете код с флагом -mtune = generic, но неверной версией библиотеки, вы не должны ожидать, что результирующий двоичный файл запустится на целевой машине (при условии, что это другая машина).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .