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)

このプラグマは、コンパイラによる参照情報の収集を停止します。

nameoff を指定して 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 (最小リビルドを有効にする) コンパイラ オプションを参照してください。

関連項目

Pragma ディレクティブと __pragma キーワードと _Pragma キーワード