10.24 __declspec(dllimport)

__declspec(dllimport) 属性は、DLL ライブラリへのリンク時に、ダイナミックシンボルテーブルからシンボルをインポートします。

使用法

インライン関数が __declspec(dllimport) としてマークされると、このコンパイルユニット内の関数定義がインライン展開される場合がありますが、アウトオブラインで生成されることはありません。アウトオブラインの呼び出しまたはアドレス参照では、インポートされたシンボルが使用されます。
__declspec(dllimport) は、外部リンケージを割り当てるには関数、変数、またはクラスを必要とします。__declspec(dllimport) は、外部リンケージのある関数、変数、およびクラスでのみ使用できます。
クラスを __declspec(dllimport) でマークした場合、そのスタティックデータメンバおよびメンバ関数がすべてインポートされます。個々のスタティックデータメンバおよびメンバ関数を __declspec(dllimport) でマークした場合は、対応するメンバだけがインポートされます。

制約条件

クラスを __declspec(dllimport) でマークした場合、そのクラスの個々のメンバを __declspec(dllimport) でマークすることはできません。

__declspec(dllimport) int i;
class __declspec(dllimport) X {   void f(); };
関連する参考文書
10.23 __declspec(dllexport)
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.