Прагма и его подходящее использование в моем коде? - PullRequest
1 голос
/ 08 апреля 2011

Может ли кто-нибудь дать мне примеры некоторой прагмы в C .Любой компилятор, который он или она использует).Если возможно gcc, потому что я использую компилятор gcc.И как это полезно в коде C ??

Я не могу дать вам точную версию моего компилятора, потому что я нахожусь в офисе и не помню ее

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Я считаю, что C99 распознает только 3 прагмы (6.10.6) ( все они связаны с плавающей запятой )

#pragma STDC CX_LIMITED_RANGE ... /*  (7.3.4) */
#pragma STDC FENV_ACCESS ...      /*  (7.6.1) */
#pragma STDC FP_CONTRACT ...      /* (7.12.2) */

Любая прагма без STDC имеет поведение, определяемое реализацией (6.10.6), и поэтому ее лучше всего НЕ ИСПОЛЬЗОВАТЬ

Нераспознанная прагма STDC вызывает неопределенное поведение.

0 голосов
/ 08 апреля 2011

Почему бы просто не проверить документацию?

Это список поддерживаемых прагм GCC, отсортированных по различным категориям.

Например:

#pragma GCC optimize ("string"...)

Эта прагма позволяет вам устанавливать глобальные параметры оптимизации для функций, определенных позже в исходном файле.Можно указать одну или несколько строк.Каждая функция, определенная после этой точки, будет выглядеть так, как если бы для этой функции был задан атрибут ((optimize ("STRING"))).Скобки вокруг опций не обязательны.См. Атрибуты функций для получения дополнительной информации об атрибуте optimize и синтаксисе атрибута.

Прагма `#pragma GCC optimize 'не реализована в версиях GCC ранее 4.4.

...