コンポーネント
ブラウザー情報または依存関係情報の収集をソース ファイル内から制御します。
#pragma component( browser, { on | off }[, references [, name ]] )
#pragma component( minrebuild, on | off )
#pragma component( mintypeinfo, on | off )
解説
ブラウザー
情報収集のオン/オフを切り替えます。また特定の名前を指定して情報収集の際に無視できます。
on または off を使用して、このプラグマ以降のブラウザー情報の収集を制御します。 次に例を示します。
#pragma component(browser, off)
上のプラグマは、コンパイラによるブラウザー情報の収集を停止します。
注意
このプラグマを使用してブラウザー情報の収集をオンにするには、まずブラウザー情報を有効にする必要があります。
references オプションは、name 引数を指定して、または指定せずに使用できます。 name を指定せずに references を使用すると、参照情報の収集のオン/オフが切り替わります (ただし、他のブラウザー情報は、引き続き収集されます)。 次に例を示します。
#pragma component(browser, off, references)
このプラグマは、コンパイラによる参照情報の収集を停止します。
name と off を指定して references を使用すると、name への参照情報がブラウザー情報ウィンドウで非表示になります。 この構文を使用して必要のない名前と型を無視することで、ブラウザー情報ファイルのサイズを縮小できます。 次に例を示します。
#pragma component(browser, off, references, DWORD)
このプラグマ以降、DWORD への参照を無視します。 DWORD への参照情報の収集を再度オンにするには、on を使用します。
#pragma component(browser, on, references, DWORD)
これは、name への参照情報の収集を再開する唯一の方法です。いったんオフにした name は明示的にオンにする必要があります。
プリプロセッサが name を展開しない (たとえば NULL を 0 に展開しない) ためには、引用符で囲みます。
#pragma component(browser, off, references, "NULL")
最小リビルド
Visual C++ の最小リビルド機能は、コンパイラが C++ のクラスの依存関係情報を作成して保存する必要があるため、ディスク容量が使用されます。 たとえば、ヘッダー ファイルに変更がなく依存関係情報の収集が不要な場合は、 #pragma component( minrebuild, off ) を使用してディスク容量を節約できます。 変更のないクラスが終了し、依存関係の収集をオンに戻すには、 #pragma component(minrebuild, on) を挿入します。
型情報の削減
mintypeinfo オプションを指定すると、指定した領域のデバッグ情報が削減されます。 この情報は量が多く、.pdb ファイルと .obj ファイルに影響を与えます。 mintypeinfo 領域では、クラスと構造をデバッグできません。 mintypeinfo オプションを使用すると、次の警告を回避するのに役立ちます。
LINK : warning LNK4018: too many type indexes in PDB "filename", discarding subsequent type information
詳細については、「最小リビルドを有効にする (/Gm) コンパイラ オプションを参照してください。