__declspec(dllexport)
カテゴリ
構文
__declspec( dllexport ) declarator
dllexport 記憶クラス属性は、Microsoft C および C++ 言語の互換性を実現するためのものです。 この属性を使用すると、関数やデータやオブジェクトを DLL からエクスポートすることができます。 dllexport 記憶クラス属性は、テンプレート クラスやテンプレート関数に適用でき、その場合にはそのテンプレートを特化したものすべてに適用すると見なされます。
この属性では、クライアント(実行可能ファイルまたは別の DLL)に対する DLL のインターフェイスを明示的に定義します。 関数を dllexport と宣言すると、少なくともエクスポートされる関数の仕様に関しては、モジュール定義(.DEF)ファイルが必要なくなります。 クラスに dllexport を指定すると、クラス内のあらゆるインライン関数の本体が非インラインで生成されるため、クラスを定義している DLL の外部から呼び出すことができるようになります。
メモ: dllexport は、.DEF ファイルなしで簡単かつ単純に関数をエクスポートできるという点で __export キーワードに代わるものであり、同時にコードも最適化されます。