1. ホーム
  2. dll

[解決済み] dllとは?

2023-02-19 23:33:21

質問

これは非常に初歩的な質問かもしれませんが、今日のWebアプリケーション開発の世界では、多くのプログラマはDLLを扱う必要があまりなく、したがってその目的についてわざわざ学ぶ必要はありません。

では、DLLとは何でしょうか?

  1. 何に使うのですか?
  2. どのように動作するのですか?
  3. どのように作成するのですか?
  4. どのような状況で作成するのが適切ですか?

dll は関数のライブラリを格納するために使用されると聞きましたが、それ以上のことはよくわかりません。Windows のディレクトリにあるすべての .dll ファイルが何をしているのか、最終的に疑問を持つのをやめることができるように、ここの誰かが私を啓発してくれることを期待しています。

どのように解決するのですか?

DLL はダイナミックリンクライブラリです。これはコードやデータの集まりで、複数のアプリケーション (または他のライブラリ/モジュール) によって使用される可能性があります。

そのため、たとえば、ファイルを処理したり、GUI コンポーネントで作業したりするための共通のメソッドは、複数のアプリケーションが同じ機能を使用できるように、ライブラリで利用できるようになっています。これにより、同じものを何度もビルドする必要性を減らすだけでなく、たとえば共通のダイアログがアプリケーション間で同じであることを保証します。

ライブラリは実行時にロードすることができ、異なる同時実行アプリケーション間で共有することができます。これはダイナミックリンクと呼ばれます。

場合によっては、ライブラリはアプリケーション自体に含まれることがあります。これは静的リンクと呼ばれます。静的リンクは、異なるアプリケーションがそれぞれ同じ DLL のコピーをロードするため、柔軟性を犠牲にして展開を容易にします。

しかし、静的リンクは常にオプションというわけではありません。たとえば、.NET アプリケーションを静的にリンクすることはできません。ユーザーは .NET アプリケーションを実行するために .NET ライブラリを持つ必要があり、ライブラリ (または .NET で呼ばれるアセンブリ) は実行時にロードされます。

DLL は、アプリケーションを作成するために使用されるのと同じツールで作成されます。具体的な詳細は、使用するツールに大きく依存します。