ライブラリをエクスポートする場合は、__declspec(dllexport)
が必要です。誰かがライブラリを使用する場合は、__declspec(dllimport)
を追加する必要があります。しかし今日、私はそれが必要でないことを発見しました。"__declspec(dllimport)"が役に立たないように見えるのはなぜですか?
何故私たちは__declspec(dllimport)
が必要ですか? documentationから
ライブラリをエクスポートする場合は、__declspec(dllexport)
が必要です。誰かがライブラリを使用する場合は、__declspec(dllimport)
を追加する必要があります。しかし今日、私はそれが必要でないことを発見しました。"__declspec(dllimport)"が役に立たないように見えるのはなぜですか?
何故私たちは__declspec(dllimport)
が必要ですか? documentationから
:
__declspec(dllimportの)を使用するには、関数宣言に任意ですが、このキーワードを使用した場合、コンパイラはより効率的なコードを生成します。ただし、__declspec(dllimport)を使用して、DLLのパブリックデータシンボルおよびオブジェクトにアクセスするための実行可能ファイルをインポートする必要があります。 DLLのユーザーは引き続きインポートライブラリにリンクする必要があることに注意してください。
ありがとうございます。しかし、私が疑問に思うのは、 "DLLのパブリックデータシンボルとオブジェクト"の意味です。クラス内のグローバルな部分またはパブリックな部分を意味します、そうですか? – UAG515
関数だけでなく、データやクラスをエクスポートすることもできます。それがそのテキストによって意味されるものです。 –
DLLのエクスポート/インポートについて知りたいことはすべて次のとおりです。https://blogs.msdn.microsoft.com/oldnewthing/20060727-04/?p=30333 –
Microsoft。 –