Dynamic Link Libraryとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > Dynamic Link Libraryの意味・解説 

ダイナミックリンク‐ライブラリー【dynamic link library】

読み方:だいなみっくりんくらいぶらりー

ディー‐エル‐エルDLL


ディー‐エル‐エル【DLL】


どうてき‐リンクライブラリー【動的リンクライブラリー】

読み方:どうてきりんくらいぶらりー

《dynamic link library》⇒ディー‐エル‐エルDLL


DLL

フルスペル:Dynamic Link Library
読み方ディーエルエル
別名:ダイナミックリンクライブラリ共有ライブラリシェアドライブラリ
【英】Shared Library

DLLとは、動的なリンクによって利用されるライブラリのことである。Windowsでは、DLLファイル拡張子として「.dll」が付く。

DLLでは、様々なアプリケーションプログラム使用される汎用的機能モジュール化されており、実行ファイルがリンクを読み込むことによって共通して利用できるようになっている動的にリンクしていることによって、プログラム間で重複したコード共有化し、メモリ占有量やHDD読み込み時間などを削減することができる。Windowsでは、OSとしての機能多くをDLLによって提供している。

アプリケーション開発当たっては、DLLとしてすでに用意されている機能新たに開発しなくてよいので、開発効率の向上期待できる。ただしDLLを利用するためには実行プログラムとDLLをセットにして管理しなくてはならない

DLLは元々Windowsにおける用語であるが、後にUNIXなどでも同様の機能指して「DLL」や「ダイナミックリンクライブラリ」と呼ぶ場合多くなっている。UNIX系OSでは「共有ライブラリ」などと呼ばれることもある。


参照リンク
DLL とは - (Microsoft
OSのほかの用語一覧
Windows:  DCOM  DirectSound  DirectSound 3D  DLL  DSP版  DFS  DirectX

ダイナミックリンクライブラリ

(Dynamic Link Library から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/06 08:52 UTC 版)

ダイナミックリンクライブラリ
拡張子.dll
MIMEタイプPEの場合: application/vnd.microsoft.portable-executable[1]
UTIcom.microsoft.windows-dynamic-link-library
マジック
ナンバー
PEと同じ(オプション内フラグで区別)
開発者マイクロソフト
包含物共有ライブラリ

ダイナミックリンクライブラリ (Dynamic Link Library: DLL、動的リンクライブラリ) は、ソフトウェアバイナリ形態の一種。動的リンクを使ったライブラリのこと。あるいは、Windowsで使用されるファイル形式を特に意図して、この語が用いられる場合もある。

複数のプログラムから共通に利用できるように種々の機能をプログラムとは分離させた、シェアードライブラリ(共有ライブラリ)でもあることが多い。

概要

たとえば、「マウスカーソルが現在、画面上のどの座標にあるかを調べる」などという普遍性・一般性を持つ機能は、さまざまな実行プログラムアプリケーション)から参照される可能性があるが、その部分をモジュール化して、さまざまなプログラムから使えるようにすることでコードの再利用性を高め、多重開発(車輪の再発明)を防ぐことができる。このような場合に、この機能をダイナミックリンクライブラリとして実装し、アプリケーション実行プログラムの開始時に動的リンクしてから利用する方法がある。

プログラムコードを再利用する仕組みとしては、スタティックリンクライブラリを作成して静的リンクする方法が挙げられるが、ダイナミックリンクライブラリを適切に設計・利用することで、ソフトウェアの機能追加・動作変更や不具合修正などの際に、ライブラリのモジュールのみを差し替えることで対応できるなどのメリットが存在する[2]Intel IPPなどのように、実行環境のプロセッサに合わせて自動的に最適なコードを選択・実行するためにダイナミックリンクライブラリを利用している例や、NewTek LightWaveなどのように、サードパーティ製のソフトウェア部品によってエンドユーザーが本体ソフトウェアに後から自由に機能追加できるようダイナミックリンクライブラリをプラグインとして利用する設計を行なっている例もある。

Windowsにおけるダイナミックリンクライブラリのモジュールは、拡張子が「.dll」のファイルである。ActiveXコントロール(COMコンポーネントの一種)に関しては、慣例的に「.ocx」という拡張子が付けられることもある(他にも、LightWave用プラグインファイルには慣例的に「.p」の拡張子が付けられるが、Windows版におけるファイルの中身自体はWin32 DLLそのものである)。DLLは本体ソフトウェアつまり実行プログラム(「.exe」拡張子を持つモジュール)によって実行時にロードされる。Win32 APIが格納されたDLLのように高い汎用性を持つC言語形式の関数がエクスポートされたDLLのほか、Microsoft Visual C++環境専用のMFC拡張DLL、Microsoft Visual Basicなどの他言語からの利用にも対応したCOMコンポーネント、および.NET Framework環境向けのマネージコードが格納されたアセンブリなど、ひとえにDLLといってもそのモジュールの実装形態や、モジュールを利用できるプログラムには差異がある。

FM TOWNSTownsOSでは、V2.1L20以後でサポートされた。TownsOSにおけるダイナミックリンクライブラリのモジュールは、Windowsと同様に拡張子が「.dll」のファイルである[3]

Unix系OSでは /usr/lib や /lib などの下に通常置かれる、拡張子が「.so」[4]のファイルである。バージョンによる差異の吸収を目的として、拡張子が「.so.バージョン番号」というファイルを実体として作成し、バージョン共通名の「.so」をその実体へのシンボリックリンクとすることが多い。macOSでは拡張子として「.dylib」が使われる。同じUnix系OSでも、SunOS はリンク時に Shared library を指定しなくて良い(つまり、実行時まで(Shared library 内にあるとされる)関数の名前解決がされるかどうか遅延させることが可能である)が、Solaris ではリンク時に Shared library を指定することで(Shared library 内にあるとされる)関数が名前解決されるかどうかリンカがチェックできるようにする必要がある(無論、Shared library なので、リンカは関数が名前解決されるかどうかチェックするのみでリンクはしない)。

ライブラリが共有(パブリック)であることと、ダイナミックリンクであることは必ずしも一致しないので注意が必要である。ダイナミックリンクだが共有しない(特定の実行プログラムからのみ使用されるプライベートなモジュール)というライブラリもありうる。

一般には、ダイナミックリンクライブラリでも、シンボル(関数シンボル)は実行プログラムファイルの生成時(コンパイル後のリンク&ビルド処理時)に解決する(アーリーバインド)。これに対し、エンドユーザーが後からモジュールを追加できるプラグインなどでは、実行時にシンボルを解決するものもある(ディレイロード)。多くの処理系では実装上両者は同じものだが[要出典]、例えばDarwinでは明確に区別されている。

脚注

  1. ^ Andersson, Henrik (2015年4月23日). “application/vnd.microsoft.portable-executable” (英語). IANA. 2017年3月26日閲覧。
  2. ^ DLL の利点 - MSDN
  3. ^ 「INSIDE TOWNS TownsOS V2.1L20の機能 DLL活用術(前偏)」『Oh!FM TOWNS』1993年7月号、162-163頁。
  4. ^ 「so」は「Shared Object」の略。

関連項目


「Dynamic Link Library」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Dynamic Link Library」の関連用語

Dynamic Link Libraryのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Dynamic Link Libraryのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【DLL】の記事を利用しております。
拡張子辞典拡張子辞典
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【.dll】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのダイナミックリンクライブラリ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS