DLL単語

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

DLL(Dynamic Link Library)とは、windows用の実行ファイルの一つである。

概要

DLLは実行ファイルだが、EXEファイルとは違い、ダブルクリックしても実行できない。
どうやって実行しているのかというと、他のEXEファイルDLLファイルの機を呼び出しているのである。
何度も使う機を、様々なソフトから利用できるようにしたのがDLLである。 

解説

プログラマプログラムを書く際に、画面表示や入ファイル操作などを一からすべて書いていては非常に効率が悪い。そこで、ある一定の機を持ったプログラム(又はその集合)をライブラリ(Library)と言う形で作っておき、使い回しが効くようにしてある。

MS-DOSのように一度に1つのプログラムしか実行できないOSでは、ライブラリを全て実行ファイルに組み込んでも変わりがないが、Windowsでは複数のプログラムが1つのライブラリを同時に使う事はかなり多い。後述のAPIなどは特に多く、1つ1つのプログラムライブラリを内蔵しているとメモリ駄になる。

そこで、重複するものは1つだけ読み込み、共有するようにするためにDLLが使われるのである。動的(実行中、Dynamic)にプログラム本体(exe)と結合(Link)されるライブラリなのでDLLと呼ばれているわけである。

DLLの主な用途

DLLは、APIプラグインとして利用されている。
APIとしての利用は、user32.dllやkernel32.dllなどのwindowsAPIがある。
ブラウザプラグインも、一部はDLLを追加することで実現されている。 

.NET FrameworkのDLL

 .NET FrameworkでのDLLCLR(共通言ランタイム)と呼ばれ、C#Visual Basicクラスを呼び出すことができる。アプリケーション開始時にCIL(共通中間言)に変換される。

Win32形式のDLLを「アンマネージドDLL」と呼ぶ。COM形式のDLLは参照設定して呼び出すことができる。アンマネージドDLLSystem.Runtime.InteropServices名前空間にあるDllImport属性で呼び出すことができる。

関連商品

関連コミュニティ

関連項目

【スポンサーリンク】

スマホ版URL:
https://dic.nicovideo.jp/t/a/dll

この記事の掲示板に最近描かれたお絵カキコ

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

DLL

1 ななしのよっしん
2010/03/12(金) 21:56:33 ID: Ivb/hhLaMC
たまたま開いた記事だけど、分かりやすいわ。
dllってそういう機を持ったファイルだったのね
2 ななしのよっしん
2010/09/01(水) 21:46:56 ID: UvghGdVJos
ダイナミックリンクライブラリ読むのな
ずっとどぅるるって読んでた
3 SuperTupper
2010/12/18(土) 21:13:45 ID: cgziqR47Fx
>>2
どぅるる吹いたww
4 ななしのよっしん
2011/12/13(火) 13:25:50 ID: EIU49kDwSg
ピンクプログラム本体(exe)、水色DLLオレンジWindowsカーネル(本体)
タイトル:メモリ節約の図解
画像をクリックして再生!!
 
Twitterで紹介する

5 ななしのよっしん
2012/01/17(火) 00:08:46 ID: OnUWJ1PRjI
例えばペイントメモ帳は違うソフトだけど
メニューバーファイル→開くと進むと
同じ画面(フォルダやファイルを参照する画面)が出るよね
これがdllですか?
6 ななしのよっしん
2012/06/06(水) 02:55:53 ID: oMKifNrrVW
>>5
その通りです。
これはコモンダイアログと言うDLLの中にある、
「GetOpenFileName関数を呼び出しています。
同じくファイル名を付けて保存する時は、
「GetSaveFileName関数を呼び出しています。
ただし、これを直接使う場合には、事前にいろいろと
プログラム事前準備をしなきゃ成らないため、
ExcelVisual Basic等では独自に簡略化した方法を
使うこともあります。
7 ななしのよっしん
2012/09/17(月) 15:00:10 ID: OnUWJ1PRjI
>>6
詳しい説明ありがとう
これでまた一つ知識が蓄えられました
8 ななしのよっしん
2013/07/27(土) 17:22:53 ID: w3aDpkNQRM
C:\windows\system32\rundll32.exe "C:\Program Files\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen 画像パス

でやるどフォトビューア起動するけどこのPhotoViewer.dllって何?
9 ななしのよっしん
2014/09/20(土) 21:55:49 ID: c87U4dxLJI
>>8
それがフォトビューワーの本体でDLL単体じゃ起動できないからrundll32.exe読み込ませているのではないか?
10 ななしのよっしん
2016/09/21(水) 10:49:33 ID: x25Km4XY1E
ちなみにスタティクライブラリというのもある
長所や短所はDLLとほぼ逆

用途としては、速度を極限までめたい時や、
DLLインストールの手間をきたい時などか

急上昇ワード