web-dev-qa-db-ja.com

.dll、.lib、.hファイルの違いは何ですか?

プロジェクトに* .lib、.h、またはその他のファイルを含める必要があるのはなぜですか?そして、これらのものは何に使用されますか?

61
MemoryLeak
  • .h:ヘッダーファイル、その宣言を含むソースファイル(実装を含む.cpp、.cxxなどとは対照的に)、

  • .lib:静的ライブラリには、コードまたは動的ライブラリへのリンクのみが含まれる場合があります。どちらにしても、プログラムとリンクするのはコンパイルされたコードです。静的ライブラリは、リンク時に.exeに含まれます。

  • .dll:動的ライブラリ。静的なものと似ていますが、実行時にロードされるため、.exeファイルと共に展開する必要があります。

86
siukurnin
  • [〜#〜] h [〜#〜]ライブラリへのインターフェースを宣言します-関数、構造、および定数を含みます。 C言語で書かれています。
  • [〜#〜] lib [〜#〜]ダイナミックライブラリ(DLL)へのバイナリインターフェイスを宣言するまたはを含むライブラリのバイナリコード。
  • [〜#〜] dll [〜#〜]動的ライブラリ-アプリケーションはこれらをシステムと共有するか、コードベースを整理するために使用します。
  • [〜#〜] def [〜#〜] DLLによってエクスポートされた関数のテキストによる説明。
25
Frank Krueger