• ベストアンサー

DLLの使用目的

DLLは複数のプログラムを一つにまとめたものという事は分かりました。圧縮したり解凍したりする際にも使われるとの事ですが、これ以外に使用用途は何かあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.4

>DLLは複数のプログラムを一つにまとめたもの 複数でない場合もあります。例え1つでもDLLにできます。 Windowsのプログラムを作りでもしない限りDLL(Dynamic Link Library)のメリットは実感できないと思います。 使い手(ユーザー側)にとってればDLLであるかどうかはどうでも良い話です。 開発側にメリットがあるのです。 windowsのディレクトリ(フォルダともいう)の中にはたくさんのDLLがあります。 特にkaernl32.dllは中核のDLLでほとんどのアプリケーションはこれを介して windows本体と連絡をとりあってます。 他にもGDI32.DLLはグラフィックに関するプログラムでグラフィックを描写する際 呼び出します。 >圧縮したり解凍したりする際にも使われるとの それは狭義です。DLLはどんなプログラムでもいれる事ができます。 圧縮や解凍するプログラム部分だけをDLL化しておけば 圧縮や解凍を必要とするアプリケーションを作る際、そこを作る手間が省けるわけです。 またDLL化のもうひとつのメリットとしてそのDLLを配布したとき ソースコード(プログラム言語)が見えなくなるので、改変(改造)しにくくなります。

その他の回答 (3)

  • yosi_yosi
  • ベストアンサー率35% (165/468)
回答No.3

複数のプログラムを1つにまとめたものと言われると、 なんか違う感じを私は受けますが... 使用用途は限りないと思います。 主に複数のプログラム(アプリ)から共有したい機能をDLLにしておいて、ディスクスペースやプログラマの負担を軽くしたり、 1つの実行ファイルが大きくなりすぎるのを避けたり、機能別に分けたいときなどにDLLを使用します。 たとえば、Windowsの機能を使う(ウインドウの表示やコモンダイアログなどの表示、DirectXなど)場合にはそれらの機能を有しているDLLを使うことで、簡単にその機能を使うことが出来ます。

  • driverII
  • ベストアンサー率27% (248/913)
回答No.2

つまり複数のプログラムで利用する共通部分をDLLにすることが多いです。 また、OSからコールバックされるような部分もDLLにする時があります。 Windows の一部にもDLLが使われています。 C:\WINDOWS\system などを見ると、聞いたことや用途の想像がつく DLLがいっぱい転がっています。

  • jamitof
  • ベストアンサー率41% (195/467)
回答No.1

Windowsが動くのもIEが動くのもWordやExcelが動くのもDLLを使ってますよ。

参考URL:
http://e-words.jp/w/DLL.html

関連するQ&A

  • DLLって…。

    すみません、パソコン素人なんですがDLLって単純に言うと何なんでしょうか??よく圧縮・解凍ツールの説明のところに書いてあるのですが(それ自体も違うのかな)・・・。いろいろ自分で調べてみてもイマイチよくわかりません・・・。教えてくださいm(__)m

  • ZIPを操作したい(VB.NET、dll)

    現在VB6で、UNLHA32.dllを使用して ・LZHの圧縮 ・LZHの解凍 ・LZH内のテキストファイルの読み込み の操作をしています。 今回、VB6からVB.NETへ言語を変換することになりました。 そのタイミングで、LZHではなくZIPを使うことにもなりました。 (LZHはセキュリティ的に使うべきでないからという理由だと思います。) そこでLZHで行っていた操作を、ZIPに置き換えて実現するにはどうすればよいでしょうか? VB.NETの機能でZIP操作できるようなのですが、FrameWork4.5以上からのようなので、バージョンで操作できる・できないが出てしまうならdllを使うべきなのかなと思っています。 dllで調べていくと、UNZIP32.dllやzip32.dll、zip32j.dllなどがあることを知りました。 UNLHA32.dllではそれ1つで解凍や圧縮ができたのですが、 UNZIP32.dllでは解凍のみ、zip32.dllやzip32j.dllは圧縮のみのようです。 ただ、本文の最初に挙げていた、 圧縮状態のまま、その中にあるテキストファイルの読み込み がどうすれば実現できるのかが調べていても分かりませんでした。 また、先ほど挙げたZIP操作のdllをVB.NETで使用していくにあたっての コーディングなどについてもなかなか検索しても見つからず、 どうすればいいのか見えてこない状態です。 (私の検索方法が良くないのかもしれませんが・・・) それ以外にもzip32.dllとzip32j.dllの両方を組み合わせて使うようなのですが、 その理由も分からないです。 助言をいただけないでしょうか。 p.s. 入社したてのスキル不足なSEです。 初歩的な質問だったらすみません。

  • UNLHA32.DLLが見つかりません!!

    TARGET frontier(競馬のデーターベースソフト)で圧縮 しているデーターをを解凍しようとしたら「LHA32.DLLが 見つかりません」とメッセージが出て解凍できませんでし た。解決方法を教えてください。 よろしくお願いします。

  • UNLHA32.DLLとMkLzh/ExLzhのインストールについて

    またやってしまいました。 VECTORのサイトからダウンロードしたUNLHA32.DLLとMkLzh/ExLzhの圧縮解凍ソフトの「解凍」がうまくいきません。UNLHAのほうは、「自己解凍書庫」で開きなさいというメッセージがでるのですが、これは、自分で新しいファイルをつくるのか、それとも、そういうファイルか何かがあるのか、さえ分からない状態です。 だれか、インストールの方法を教えて下さい。 加えて、「マイドキュメント」の中にあった。別のプログラムがファイルの中で解凍されてしまい。ちらかっています。このプログラムはいらないので消去したいのですが、これは、右クリックで削除していくしかないのでしょうか?

  • GCAについて。(V.Bやdllなども)

    GCAで圧縮されたファイルを解凍しようとしているんですが、ちょっとわからないことがありまして・・・ Visual Basic 6.0をインストールしなきゃいけないらしいんですが、 どこにあるのでしょうか・・・ dllは何を使えばいいんでしょうか・・・ すいません、よろしくおねがいします・・・

  • システムDLLの無効な再配置とは?/圧縮ファイル解凍時の不明点

    1.よく分からないんですが、パソコンでいろいろしていると度々、「chitoseupd.exe システムDLLの無効な再配置」というエラーが出ます。 エラーの文章中には、「システムDLL user32.dllがメモリ内で再配置されました」とか、「SHELL32.dllがwindowsシステムDLLのために予約されているアドレス範囲を使用したため」とか、「ベンダに連絡して新しいDLLを入手してください」とかそのようなメッセージが含まれていました。 システムDLL、メモリ内で再配置、予約されているアドレス範囲、ベンダに連絡…など意味不明なことばかりでさっぱり分かりません。 この解決方法と、出来ればこのエラーの意味を分かりやすく教えてください。 2-1.ダウンロードしてきた圧縮ファイルを解凍したのに、何故か出てきたフォルダ内は空っぽということがたまに起きます。同じ圧縮ファイルで何度も試しても必ずそうなります。 圧縮ファイルはちゃんと数MBと容量が多いのに、回答して出てきたフォルダは0Bなんです。 よく分からないんですが、解凍した瞬間にウイルスとして飛んでいったのでしょうか? でも、解凍前にノートンでチェックしたところ、脅威なし(=ウイルスなし)でファイル数が3とか5とか、各々の圧縮されたファイル数がカウントされているんです。 なのに解凍すると何もないとはどういうトリックなんですか? 2-2.また、解凍するとファイル数が例えば3だったのが1に減っているという場合もあります。 ある手段で圧縮状態のまま内部を見てみると、確かにそのファイルが存在してました。 不審なexeファイルなどではありませんし、ちゃんとしたファイルでした。 解凍時のエラーとして捉えるべきなのでしょうか? だとしたら、正確に解凍する手段、あるいは解凍せずに中身を取り出す手段があれば教えてください。

  • unzip32.dllの利用について(64bit)

    unzip32.dllをプログラムから呼び出しZIPファイルを解凍していたのですが、 64bitOSになった場合は、どうすればよいのでしょうか? unzip32.dllの64ビット版はあるのでしょうか? テストで使用しているWindows7(x64)では、動作しているのですが、 ちょっと不安になり質問しました。 よろしくお願いします。

  • システムディレクトリ以外の場所に*.dllをコピーしてVBから実行したい

    現在,unlha32.dllを使用した,解凍プログラムを作成中です。 unlha32.dllが存在しないパソコンには,システムディレクトリにdllをコピーして実行するわけですが,WinNT,Win2000などでは,管理者以外は,システムディレクトリへの書込みが出来ません。 そこで,システムディレクトリ以外のディレクトリにコピーして,それをVBから呼び出す,というかたちを考えているのですが,どのようにしたら良いのか分かりません。よろしければ,教えて頂けないでしょうか? ただし,unlha32.dllを使用していることを,利用者に知られたく無いので, 事前にインストールしてもらうという手は使えません。 どうか,よろしくお願いします。

  • dllファイルの置き場所について

    こんにちは 私はワードやエクセルを使用する程度で、プログラムやその他、高度なことはまったく解りません。 フリーソフトをダウンロードした際、mscomctl.ocxが見つかりませんらしきメッセージがでたので、次にmscomctl.ocxが入っているvb6run2をダウンロードしました。これを解凍しようとすると「the langage dll'vb6jp.dll!could not be found.」というメッセージがでました。でも、ドライブの中を検索するとWINDOWSの中のtempフォルダーの中にvb6jp.dllはありました。 場所が悪いのかと思いいろいろな場所にコピーをしてみたりもしたのですが、まったく解りません。 dllファイルはどういう扱いをすればよいのでしょう? どなたか良いアドバイスをお願いします。

  • UNLHA32.DLLが見つかりません。

    友人からPC(XP)の相談を受けたのですが ベクター等からフリーウェアをダウンロードすると「UNLHA32.DLLが見つかりません。  エラーコード0x7e LHUT32はUNLHA32.DLLが無いと動作しません。」 となってしまいます。 これは圧縮形式のファイルを解凍しようとして、エラーがでているって認識でいいんでしょうか? また、修正は可能でしょうか? 随分前から同じエラーが出ているようなので、システムの復元はいつまでさかのぼればいいかわからず、有効とは思えない状況です。

専門家に質問してみよう