1

誰かが C のプラグマの例をいくつか教えてくれますか? 彼または彼女が使用している任意のコンパイラ)。gcc コンパイラを使用しているため、可能であれば gcc を使用します。そして、Cコードでどのように役立ちますか??

コンパイラの正確なバージョンをお伝えすることはできません。オフィスにいて覚えていないからです。

4

2 に答える 2

1

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プラグマは、未定義動作を呼び出します。

于 2011-04-08T09:08:15.487 に答える
0

ドキュメントを確認するだけではどうですか?

これは、さまざまなカテゴリに分類された、GCC でサポートされているプラ​​グマのリストです。

例えば:

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

このプラグマを使用すると、ソース ファイルで後で定義される関数のグローバル最適化オプションを設定できます。1 つまたは複数の文字列を指定できます。この時点以降に定義された各関数は、その関数に対して attribute((optimize("STRING"))) が指定されたかのようになります。オプションを囲む括弧はオプションです。最適化属性と属性構文の詳細については、関数属性を参照してください。

`#pragma GCC optimize' プラグマは、4.4 より前の GCC バージョンでは実装されていません。

于 2011-04-08T09:04:19.527 に答える