テンプレート用コンパイラ スイッチ
BCC32 および BCCOSX の一連の -Jg コンパイラ スイッチにより、テンプレートのインスタンスがコンパイラでどう生成されるかを制御できます。 コンパイラに検出されたどのテンプレート インスタンスにも、その特定のインスタンスが初めて見つかった時点でのスイッチの値が適用されます。
テンプレート関数の場合、スイッチは関数インスタンスに適用され、テンプレート クラスの場合は、そのすべてのメンバ関数と静的データ メンバにスイッチが適用されます。 どのような場合でも、このスイッチは、コンパイラで生成されるテンプレート インスタンスにのみ適用され、ユーザー定義のインスタンスには適用されません。 ただし、どのインスタンスがユーザー定義のものであるかをコンパイラに指示して、それらがテンプレートから生成されないようにするために使用することはできます。
-J Template generation options -Jgd Generate definitions for all template instances and merge duplicates -Jgx Generate external references for all template instances
テンプレート生成オプションは、次のいずれかで設定できます。
- ソース コードで(「テンプレート生成のセマンティクス」を参照)
- IDE で(「[C++ コンパイラ]」を参照)