2016-09-02 1 views
0

ライブラリをエクスポートする場合は、__declspec(dllexport)が必要です。誰かがライブラリを使用する場合は、__declspec(dllimport)を追加する必要があります。しかし今日、私はそれが必要でないことを発見しました。"__declspec(dllimport)"が役に立たないように見えるのはなぜですか?

何故私たちは__declspec(dllimport)が必要ですか? documentationから

+0

DLLのエクスポート/インポートについて知りたいことはすべて次のとおりです。https://blogs.msdn.microsoft.com/oldnewthing/20060727-04/?p=30333 –

+0

Microsoft。 –

答えて

1

__declspec(dllimportの)を使用するには、関数宣言に任意ですが、このキーワードを使用した場合、コンパイラはより効率的なコードを生成します。ただし、__declspec(dllimport)を使用して、DLLのパブリックデータシンボルおよびオブジェクトにアクセスするための実行可能ファイルをインポートする必要があります。 DLLのユーザーは引き続きインポートライブラリにリンクする必要があることに注意してください。

+0

ありがとうございます。しかし、私が疑問に思うのは、 "DLLのパブリックデータシンボルとオブジェクト"の意味です。クラス内のグローバルな部分またはパブリックな部分を意味します、そうですか? – UAG515

+0

関数だけでなく、データやクラスをエクスポートすることもできます。それがそのテキストによって意味されるものです。 –

関連する問題