a には次のいずれかを指定します。
表 A–15 -instances の値
値 |
意味 |
---|---|
extern |
必要なすべてのインスタンスをテンプレートリポジトリの comdat セクション内に置き、それらに対して大域リンケージを行います。リポジトリのインスタンスが古い場合は、再びインスタンス化されます。 注: コンパイルとリンクを別々に行うとき、コンパイル処理で -instance=extern を指定した場合には、リンク処理でも -instance=extern を指定する必要があります。 |
explicit |
明示的にインスタンス化されたインスタンスを現在のオブジェクトファイルに置き、それらに対して大域リンケージを行います。必要なインスタンスがほかにあっても生成しません。 |
global |
必要なすべてのインスタンスを現在のオブジェクトファイルに置き、それらに対して大域リンケージを行います。 |
semiexplicit |
明示的にインスタンス化されたインスタンスを現在のオブジェクトファイルに置き、それらに対して大域リンケージを行います。明示的なインスタンスにとって必要なすべてのインスタンスを現在のオブジェクトファイルに置き、それらに対して大域リンケージを行います。必要なインスタンスがほかにあっても生成しません。 |
static |
注: -instances=static は非推奨です。-instances=global が static の利点をすべて備えており、かつ欠点を備えていないので、-instances=static を使用する理由はなくなっています。このオプションは、このバージョンのコンパイラには存在しない、旧リリースのコンパイラにあった問題を克服するために用意されていました。 必要なすべてのインスタンスを現在のオブジェクトファイルに置き、それらに対して静的リンケージを行います。 |
-instances を指定しないと、-instances=global が想定されます。