Оптимизация функций в GCC 4.4.3 - PullRequest
1 голос
/ 18 июля 2011

Что касается моего более раннего вопроса здесь , я обнаружил возможную ошибку в GCC 4.4.3, когда она не поддерживала следующие прагмы в исходном коде для оптимизации (хотя в нем говорится 4.4.x и далееделает!)

#pragma GCC optimize ("O3")

__attribute__((optimize("O3")))

Опробовал оба вышеупомянутых варианта, но оба выдавали ошибки времени компиляции в самом компиляторе (см. снимок сообщения об ошибке, размещенный в ссылке, упомянутой выше)

Теперь есть ещеварианты для меня, чтобы включить разные уровни оптимизации для разных функций в моем коде C?

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

Из онлайн-документов :

Числа предполагаются как уровень оптимизации. Предполагается, что строки, начинающиеся с O, являются опцией оптимизации, тогда как предполагается, что другие опции используются с префиксом -f.

Итак, если вам нужен эквивалент командной строки -O3, вам, вероятно, следует использовать просто число 3 вместо "O3".

Я согласен, что это ошибка и она не должна генерировать ICE, рассмотрим сообщение об этом вместе с небольшим тестовым примером для ребят из GCC.

0 голосов
/ 19 июля 2011

Теперь есть какие-то дополнительные опции для меня, чтобы включить разные уровни оптимизации для разных функций в моем коде C?

Оставшаяся опция - поместить функции в их собственный файл .c и скомпилировать этот файл .c с требуемым флагом оптимизации.

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