Как сказать, какую оптимизацию bjam использует для создания повышения

Я создаю библиотеки повышения с bjam и для компилятора Intel и для vs2008, и я не могу сказать, какая оптимизация передается компилятору от bjam. Для одного из gcc компилятора я вижу некоторую оптимизацию в одном из bjam файлов, но я не могу найти флаги оптимизации для компиляторов, о которых я забочусь. Так, мои вопросы -

  1. Кто-либо знает, где флаги оптимизации по умолчанию расположены?
  2. Если они объявляются в bjam, кто-либо знает, как я могу переопределить их?
5
задан Steve 8 May 2010 в 14:51
поделиться

1 ответ

Если вас интересует весь набор параметров, которые передаются для вызова компилятора при сборке, вы можете запустить bjam с параметрами -n -a и остальными параметров сборки, чтобы предоставить вам полный набор вызванных команд и все сгенерированные файлы ответов (см. Параметры Boost Jam ). Также вы можете напрямую посмотреть исходники сборки Boost и увидеть, во что переведены указанные функции (см. Файлы инструментов сборки Boost ). Например:

Вы, вероятно, сможете выяснить то же самое для других компиляторов, просто просмотрев исходные коды, поскольку они достаточно говорит само за себя. И вы можете просто искать « <оптимизация> » и « » в источниках *. Jam .

Вы можете переопределить их в командной строке, указав параметр feature = value в командной строке при построении. Параметры соответствуют спецификациям значение , которые вы видите в файлах набора инструментов. Например, чтобы переопределить функцию оптимизации, вы должны указать в командной строке что-то вроде "optimisation = speed" . Если вам нужен более детализированный контроль, вам придется углубиться в спецификации Boost Build и, вероятно, придется создать свой собственный вариант, чтобы определить конкретные параметры и функции для сборки.

9
ответ дан 14 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: