Share via


implementation_only インポート属性

C++ 固有

.tlh プライマリ タイプ ライブラリ ヘッダー ファイルの生成を抑制します。

構文

#importtype-libraryimplementation_only

解説

このファイルには、タイプ ライブラリ コンテンツを公開するために使用されているすべての宣言が含まれます。 ラッパー メンバー関数を実装した .tli ヘッダー ファイルが生成され、コンパイルに含められます。

この属性の指定時には、.tli ヘッダーのコンテンツは .tlh ヘッダーで通常使用される同じ名前空間にあります。 また、メンバー関数はインライン関数として宣言されていません。

implementation_only 属性は、プリコンパイルされたヘッダー (PCH) ファイルの外部に実装を維持する方法として、no_implementation 属性と共に使用することが想定されています。 #import 属性を含む no_implementation ステートメントは、PCH の作成に使用されるソース領域に配置されます。 生成される PCH は、多数のソース ファイルによって使用されます。 これによって、implementation_only 属性を含む #import ステートメントが PCH 領域の外部で使用されます。 いずれかのソース ファイルでこのステートメントを 1 回だけ使用する必要があります。 これによって、ソース ファイルごとに追加の再コンパイルを行うことなく、必要なすべてのラッパー メンバー関数が生成されます。

Note

1 つの #import ステートメントで implementation_only 属性を使用し、同時に no_implementation 属性を含む同じタイプ ライブラリの別の #import ステートメントを使用する必要があります。 このようにしないと、コンパイラ エラーが生成されます。 これは、no_implementation 属性を含む #import ステートメントによって生成されたラッパー クラス定義が、implementation_only 属性によって生成された実装をコンパイルするために必要であるためです。

END C++ 固有

関連項目

#import 属性
#import ディレクティブ