__declspec(dllimport)
カテゴリ
構文
形式 1
class __declspec( dllimport ) classDeclaration;
形式 2
return_type __declspec( dllimport )functionDeclaration;
形式 3
data_type __declspec( dllimport ) dataName;
dllimport 記憶クラス属性は、Microsoft C および C++ 言語の互換性を実現するためのものです。 この属性を使用すると、関数やデータやオブジェクトを DLL へインポートすることができます。 dllimport 記憶クラス属性は、テンプレート クラスやテンプレート関数に適用でき、その場合にはそのテンプレートを特化したものすべてに適用すると見なされます。
関数に dllimport を指定すると、提供されたインライン関数本体はすべて無視されます。
たとえば、クラスのインポートは次のようになります。
class _declspec(dllimport) A{
private:
int m_a;
int m_b;
public:
int getA();
int getB();
void setA(int a);
void setB(int b);
};
グローバル関数のインポートは次のようになります。
extern "C" __declspec(dllimport) void switch (int *a, int *b);
メモ: .DLL ファイルはバイナリ ファイルなので、インポート時にはクラスや関数の完全な宣言が必要です。
メモ: dllimport は、.DEF ファイルなしで簡単かつ単純に関数をインポートできるという点で __import キーワードに代わるものです。