Название: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: yarick от Январь 26, 2013, 16:26 В релиз-версии qmake вызывает g++ с ключём -O2. Но я читал что есть ещё -O3, которая представляет более крутую оптимизацию, например встраивание инлайн-функций и прочее, что бы пригодилось. Зачем оптимизировать меньше, если можно больше? Как заставить qmake использовать -O3?
Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: lit-uriy от Январь 26, 2013, 17:29 О3 специфический режим оптимизации, он не всегда оптимальнее О2, поищи по инету.
О том как использовать ключи компилятора и линкера смотри Асистент На память не помню, что-то вроде: cxx-flags += .... нужно добавить в pro-файл Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: ViTech от Январь 27, 2013, 13:30 Как заставить qmake использовать -O3? В pro-файл добавить, например, следующие строки:Код: *-g++ { Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: twp от Январь 28, 2013, 18:29 Можно каждый раз прописывать в pro-файле, а можно всего один раз отредактировать файл qmake.conf из mkspecs.
Ведь при генерации мэйкфайлов qmake всегда считывает параметры из qmake.conf. После редактирования желательно пересобрать Qt Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: ViTech от Январь 29, 2013, 10:06 Можно каждый раз прописывать в pro-файле, а можно всего один раз отредактировать файл qmake.conf из mkspecs. Вряд ли это хороший вариант. Для разных проектов могут понадобиться разные параметры компилятора/линкера, все равно придётся переопределять. Всякие QMAKE_* для того и сделаны, чтоб каждый раз mkspecs не править. Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: twp от Январь 29, 2013, 13:44 Можно каждый раз прописывать в pro-файле, а можно всего один раз отредактировать файл qmake.conf из mkspecs. Вряд ли это хороший вариант. Для разных проектов могут понадобиться разные параметры компилятора/линкера, все равно придётся переопределять. Всякие QMAKE_* для того и сделаны, чтоб каждый раз mkspecs не править. Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: twp от Январь 29, 2013, 14:03 Кроме того, нужно использовать QMAKE_CXXFLAGS_RELEASE поскольку QMAKE_CXXFLAGS применяется как к релизной так и дебажной сборке.
Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: yarick от Февраль 26, 2013, 13:07 Добавил, теперь при компиляции выводит что-то вроде
"g++ -c -pipe -std=gnu++11 -O2 -O3 ..." Т.е. две опции подряд... Это нормально, т.е. он будет оптимизировать в режиме O3? Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: ViTech от Февраль 26, 2013, 13:52 "g++ -O2 -O3 ..." Вроде наоборот надо, кто первый - того и тапки.Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: Alex Custov от Февраль 26, 2013, 13:54 Добавил, теперь при компиляции выводит что-то вроде "g++ -c -pipe -std=gnu++11 -O2 -O3 ..." Т.е. две опции подряд... Это нормально, т.е. он будет оптимизировать в режиме O3? да Цитировать If you use multiple -O options, with or without level numbers, the last such option is the one that is effective. Название: Re: Почему qmake оптимизирует с -O2, а не с -O3? Отправлено: ViTech от Февраль 26, 2013, 14:48 Цитировать If you use multiple -O options, with or without level numbers, the last such option is the one that is effective. Тогда тут еще особенность: QMAKE_CXXFLAGS добавляет ключи перед ключами оптимизации, QMAKE_CXXFLAGS_RELEASE, QMAKE_CXXFLAGS_DEBUG там можно переопределить ключи оптимизации. |