component
pragma
ブラウザー情報または依存関係情報の収集をソース ファイル内から制御します。
構文
#pragma component( browser,
{on
|off
} [,
references
[,
name ] ])
#pragma component( minrebuild,
{on
|off
})
#pragma component( mintypeinfo,
{on
|off
})
解説
Browser
情報収集のオン/オフを切り替えます。また特定の名前を指定して情報収集の際に無視できます。
on または off を使用して、この pragma 以降のブラウザー情報の収集を制御します。 次に例を示します。
#pragma component(browser, off)
上のプラグマは、コンパイラによるブラウザー情報の収集を停止します。
Note
この pragma を使用してブラウザー情報の収集をオンにするには、まずブラウザー情報を有効にする必要があります。
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")
最小リビルド
非推奨の /Gm
(最小リビルドを有効にする) 機能では、コンパイラが 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
(最小リビルドを有効にする) コンパイラ オプションを参照してください。