複数ファイルのコンパイルユニット
このセクションの内容:
さまざまな最適化を異なるソースファイルや関数に適用するだけでなく、コンパイルユニットに含まれるソースコードのファイル数(1つ、または複数)を指定することもできます。
デフォルトでは、コンパイルユニットは1つのソースファイルから構成されますが、複数ファイルのコンパイルを使用して、いくつかのソースファイルを1つのコンパイルユニットに作成することも可能です。この利点は、インライン化 、クロスジャンプなど、プロシージャ間の最適化で対象のソースコードが多くなることです。アプリケーション全体を1つのコンパイルユニットとしてコンパイルするのが理想的です。ただし、大きなアプリケーションの場合はホストコンピュータにリソースの制限があるため、この方法は実用的ではありません。詳細については、‑‑mfcを参照してください。
注記
オブジェクトファイルが1つだけ生成されるため、すべてのシンボルはこのオブジェクトファイルの一部となります。
アプリケーション全体を1つのコンパイルユニットとしてコンパイルする場合、プロシージャ間の最適化を実行する前に、コンパイラで未使用のパブリック関数と変数を破棄するのにも役に立ちます。こうすることで、最適化のスコープが実際に使用される関数と変数に限定されます。詳細については、‑‑discard_unused_publicsを参照してください。