#pragma dumpmacros(value[,value...])
マクロがプログラム内でどのように動作しているかを調べたいときに、このプラグマを使用します。このプラグマは、定義済みマクロ、解除済みマクロ、実際の使用状況といった情報を提供します。マクロの処理順序に従って、標準エラー (stderr) に出力します。dumpmacros プラグマは、ファイルが終わるまで、または #pragma end_dumpmacros に到達するまで、有効です。end_dumpmacrosを参照してください。次の表に、value の可能な値を示します。
|
dumpmacros プラグマとコマンド行オプションの効果は同じですが、プラグマはコマンド行オプションをオーバーライドします。-xdumpmacros[=value[,value...]]を参照してください。
dumpmacros プラグマは入れ子にならないので、次のコードでは #pragma end_dumpmacros が処理されるとマクロ情報の出力が停止します。
#pragma dumpmacros(defs, undefs) #pragma dumpmacros(defs, undefs) ... #pragma end_dumpmacros
dumpmacros プラグマの効果は累積的です。次のものは、
#pragma dumpmacros(defs, undefs) #pragma dumpmacros(loc)
次と同じ効果を持ちます。
#pragma dumpmacros(defs, undefs, loc)
オプション #pragma dumpmacros(use,no%loc) を使用した場合、使用したマクロそれぞれの名前が一度だけ出力されます。オプション #pragma dumpmacros(use,loc) を使用した場合、マクロを使用するたびに位置とマクロ名が出力されます。