/FS (同期 PDB 書き込みの強制)
——または/ZIによって作成されたプログラム データベース (PDB) ファイルへの書き込みを、このファイルを介してシリアル化 MSPDBSRV.EXE。
構文
/FS
解説
既定では 、/Zi または/ZI が指定されている場合、コンパイラは PDB ファイルをロックして型情報とシンボリック デバッグ情報を書き込めます。 これにより、型の数が多い場合、コンパイル時に型情報の生成にかかる時間が大幅に短くなることがあります。 たとえば、別のプロセスで PDB ファイルが一時的にロックされている場合、コンパイラによるウイルス対策プログラムの書き込みは失敗し、致命的な —— エラーが発生する可能性があります。 この問題は、cl.exe の複数のコピーが同じ PDB ファイルにアクセスする場合にも発生する可能性があります。たとえば、同じ中間ディレクトリまたは出力ディレクトリを使用する独立したプロジェクトがソリューションに含まれる場合や、並列ビルドが有効になっている場合などです。 — /FS コンパイラ オプションを使用すると、コンパイラは PDB ファイルをロックし、書き込みを強制的に MSPDBSRV.EXE を通過し、アクセスをシリアル化します。 これにより、ビルド時間が大幅に長くなることがあります。cl.exe の複数のインスタンスが PDB ファイルに同時にアクセスするときに発生する可能性があるすべてのエラーを防止できないこともあります。 個別のプロジェクトによりそれぞれ別々の中間ディレクトリと出力ディレクトリに書き込まれるように、または、他のプロジェクトに依存するいずれかのプロジェクトでプロジェクトのビルドがシリアル化されるように、ソリューションを変更することをお勧めします。
/MP オプションは、既定で/FSを有効にします。
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関するページを参照してください。
[構成プロパティ][C/C++][コマンド ライン] プロパティ ページを選択します。
[追加の オプション] プロパティを 変更して含め、 次に [OK] を選択します。
このコンパイラ オプションをコードから設定するには
- 以下を参照してください。AdditionalOptions