DLL単語

ダイナミックリンクライブラリ
  • 2
  • 0pt
掲示板へ

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でのDLLはCLR(共通言ランタイム)と呼ばれ、C#Visual Basicクラスを呼び出すことができる。アプリケーション開始時にCIL(共通中間言)に変換される。

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

関連商品

関連コミュニティ

関連項目

【スポンサーリンク】

  • 2
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

nyanyannya (単) 記事と一緒に動画もおすすめ!
提供: melon
もっと見る

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

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

ピコカキコがありません

DLL

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

5 ななしのよっしん
2012/01/17(火) 00:08:46 ID: OnUWJ1PRjI
例えばペイントメモ帳は違うソフトだけど
メニューバーファイル→開くと進むと
同じ画面(フォルダやファイルを参照する画面)が出るよね
これがdllですか?
👍
高評価
0
👎
低評価
0
6 ななしのよっしん
2012/06/06(水) 02:55:53 ID: oMKifNrrVW
>>5
その通りです。
これはコモンダイアログと言うDLLの中にある、
「GetOpenFileName関数を呼び出しています。
同じくファイル名を付けて保存する時は、
「GetSaveFileName関数を呼び出しています。
ただし、これを直接使う場合には、事前にいろいろと
プログラム事前準備をしなきゃ成らないため、
ExcelVisual Basic等では独自に簡略化した方法を
使うこともあります。
👍
高評価
0
👎
低評価
0
7 ななしのよっしん
2012/09/17(月) 15:00:10 ID: OnUWJ1PRjI
>>6
詳しい説明ありがとう
これでまた一つ知識が蓄えられました
👍
高評価
0
👎
低評価
0
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って何?
👍
高評価
0
👎
低評価
0
9 ななしのよっしん
2014/09/20(土) 21:55:49 ID: c87U4dxLJI
>>8
それがフォトビューワーの本体でDLL単体じゃ起動できないからrundll32.exe読み込ませているのではないか?
👍
高評価
0
👎
低評価
0
10 ななしのよっしん
2016/09/21(水) 10:49:33 ID: x25Km4XY1E
ちなみにスタティクライブラリというのもある
長所や短所はDLLとほぼ逆

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