Spec-Zone.ru › GCC 11

Далее: Функционально-специфичные опции-директивы, Предыдущее: Директивы видимости, Вверх: Директивы, принимаемые GCC [Оглавление][Индекс]

6.62.15 Директивы макроса Push/Pop ¶

Для совместимости с компиляторами Microsoft Windows, GCC поддерживает ‘#pragma push_macro("имя_макроса")’ и ‘#pragma pop_macro("имя_макроса")’.

#pragma push_macro("macro_name")

Эта директива сохраняет значение макроса с именем имя_макроса в вершине стека для данного макроса.

#pragma pop_macro("macro_name")

Эта директива устанавливает значение макроса с именем имя_макроса на значение, находящееся в вершине стека для данного макроса. Если стек для имя_макроса пуст, значение макроса остаётся неизменным.

Например:

#define X  1
#pragma push_macro("X")
#undef X
#define X -1
#pragma pop_macro("X")
int x [X];

В этом примере определение X как 1 сохраняется с помощью #pragma push_macro и восстанавливается с помощью #pragma pop_macro.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/Push_002fPop-Macro-Pragmas.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API