6.61.15 Функциональные специфические опции директив
#pragma GCC target ("string"...)-
Данная директива позволяет задать опции, специфичные для целевой платформы, для функций, определенных позднее в исходном файле. Можно указать одну или несколько строк. Каждая функция, определенная после этой директивы, как будто
attribute((target("STRING")))была указана для этой функции. Скобки вокруг опций необязательны. Подробнее об атрибутеtargetи синтаксисе атрибутов см. в разделе Атрибуты функций.Директива
#pragma GCC targetв настоящее время реализована только для целевых платформ x86, ARM, AArch64, PowerPC, S/390 и Nios II. #pragma GCC optimize ("string"...)-
Данная директива позволяет задать глобальные опции оптимизации для функций, определенных позднее в исходном файле. Можно указать одну или несколько строк. Каждая функция, определенная после этой директивы, как будто
attribute((optimize("STRING")))была указана для этой функции. Скобки вокруг опций необязательны. Подробнее об атрибутеoptimizeи синтаксисе атрибутов см. в разделе Атрибуты функций. #pragma GCC push_options#pragma GCC pop_options-
Эти директивы поддерживают стек текущих опций для целевой платформы и оптимизации. Они предназначены для файлов включения, где временно требуется переключиться на использование другой ‘#pragma GCC target’ или ‘#pragma GCC optimize’, а затем вернуться к предыдущим опциям.
#pragma GCC reset_options-
Данная директива очищает текущие
#pragma GCC targetи#pragma GCC optimizeдля использования стандартных опций, указанных в командной строке.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.5.0/gcc/Function-Specific-Option-Pragmas.html