「Appendix B:Flags:Macros」の編集履歴(バックアップ)一覧に戻る

Appendix B:Flags:Macros - (2008/12/09 (火) 19:49:25) のソース

*Macros (Section 11)
These flags control expansion and checking of macro definitions and invocations.
「Macros」フラグは、拡張とマクロ定義や呼び出しのチェックを指定します。

**Macro Expansion
These flags control which macros are checked as functions or constants, and 
which are expanded in
the pre-processing phase. Macros preceded by /*@notfunction@*/ are never expanded regardless
of these flag settings. These flags may be used in source-file control comments.
「Macro Expansion」フラグは、マクロのチェック方法を指定します。チェックする方法は、下記のいずれかより指定します。
・関数または、定数としてチェックする。
・プリプロセッシングで展開した後にチェックする。
但し、ソースファイル内に、/*@notfunction@*/が存在する場合、それ以降のマクロは、マクロ展開フラグの指定に関係なく、マクロを展開せずにチェックを実施します。

-&bold(){[P: -] fcn-macros}
Macros defined with parameter lists are not expanded and are checked as functions.
引数(パラメータ)が定義されているマクロは、展開せずに関数としてチェックされます。
-&bold(){[P: -] const-macros}
Macros defined without parameter lists are not expanded and are checked as constants.
引数(パラメータ)が定義されていないマクロは、展開せずに定数としてチェックされます。
-&bold(){[shortcut] all-macros}
Sets fcn-macros and const-macros.
fcn-macros および、const-macrosを有効にします。 
-&bold(){[P: -] lib-macros}
Macros defining identifiers declared in a loaded library are not expanded and are checked according to the library information.
ライブラリで宣言されている識別子を利用しているマクロは、展開せずにライブラリ情報にてチェックされます。 

※意訳