dllexport と dllimport の違いは何ですか? 質問する

dllexport と dllimport の違いは何ですか? 質問する

私は、これら 2 つの違いについて、シンプルで簡潔な説明を求めています。MSDN では、ここではあまり詳しく説明されていません。

ベストアンサー1

__declspec( dllexport )- このようにタグ付けされたクラスまたは関数は、それが組み込まれているDLLからエクスポートされます。DLLを構築していてAPIが必要な場合は、このファイルまたはエクスポートを定義する別の.DEFファイルを使用する必要があります(マイクロソフト)。これは定義を 1 か所に保持するため便利ですが、.DEF ファイルにはさらに多くのオプションが用意されています。

__declspec( dllimport )- このようにタグ付けされたクラスまたは関数はDLLからインポートされます。これは実際には必須ではありません。インポートライブラリが必要です。ともかくリンカーを満足させるためです。ただし、 で適切にマークされている場合dllimport、コンパイラとリンカーは呼び出しを最適化するのに十分な情報を持ちます。これがない場合、インポート ライブラリ内のスタブ関数への通常の静的リンクが得られ、不要な間接参照が追加されます。オント1 オント2

おすすめ記事