DLLってなんですか?何に使うんですか?どこにあるのですか?まったくわからないので、もしよろしければ詳しく教えてください。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

過去にも同じ質問がいくつかありますが・・・



みなさん解答されていますが、ちょっと分かりやすく

Q/DLLってなんですか?

A/まず、拡張子はご存じですよね。たとえばテストというテキストファイルがあれば、Test.txtというようにTestのあとの.以下に続く物を指します。
(txtはテキストファイルの略で、汎用文章ファイルのこと)
DLLはその.以下に続く部分を指し、ファイルの種類・性質の一つとなります。

DLL(ダイナミックリンクライブラリ)は、主に32ビット汎用プログラムを指します。
汎用プログラムというのは、特定のアプリケーションやソフトウェアに左右されずに使えるプログラムのことです。

たとえば、あるプログラムを作成する際にたとえば、圧縮するとか伸張(解凍)する機能を付けるとします。
このときに、別のソフトで搭載している圧縮・伸張プログラム(DLLファイル)を流用したり、逆に他のソフトで使える機能性を持つプログラムを作成すればそれが汎用プログラムとなります。
DLLはそのようなファイルを指します。
Q/何に使うんですか?
A/何に使うというのは難しいですね。DLLというのは、先に述べたとおり、汎用プログラムですから、機能はmp3の汎用エンコーダー(Gogo.DLLなど)から各種ソフトに互換するプラグイン機能まで様々なソフトウェアで使われます。よく使う分かりやすいものにプリンタがあります。これは、ワープロソフトでも、表計算ソフトでも、写真作成ソフトでもそれぞれにプリンタ機能を設定したわけでもないのに使えます。
(以前はそれぞれのソフトで独立したドライバを持っていました)
このように、それぞれのプログラムで良く使うプログラム群を指します。DirectXというプログラム群がWindowsで最大のDLLの集まりで、ディスプレイの表示、サウンドの再生、インターネット接続やゲーム機能などの各種ソフトウェアで主に使う機能をまとめて装備しています。

Q/どこにあるのですか?

A/Windowsならスタート→検索→ファイル名検索?だったかな→
ファイル名に
*.dll
と入力して検索してみましょう。
ハードディスクの使用容量に応じて、かなりの数がヒットします。
ちなみに、ファイル名に付く*はすべてを指します。
.dllは拡張子にDLLと付くファイルを指します。

いかがでしょう。
もし何かあれば補足を・・・

この回答への補足

ありがとうございます。たいへん参考になりました。ちょっと質問があります。実際に自分でDLLを作る場合は、どのように作るのですか?また、どのツールを使用するのですか?あと、すでにあるDLLの中身を見るにはどうしたらいいのですか?教えてください。

補足日時:2002/03/20 10:32
    • good
    • 0

Q/実際に自分でDLLを作る場合は、どのように作るのですか?



A/どのようにといわれてもね。mnabeさんがおっしゃるようにプログラム言語を利用して、持たせたい機能などに準じて、ソースを作成する、作成が完了したら、コンパイルする。簡単にはこんなところかな(ちょっとおおざっぱですが)
http://www.microsoft.com/japan/developer/library …
http://www.angel.ne.jp/~mike/vb_dll/vb_dll02.html

Q/また、どのツールを使用するのですか?あと、すでにあるDLLの中身を見るにはどうしたらいいのですか?

A/すでにプログラミング言語をご利用なら各プログラム言語のマニュアルや参考書などをご覧ください。
内容を確認するには、逆コンパイルするか?
(確実ですが・・・自身で作った物もしくは、制作者が著作権を放棄していなければ逆コンパイルや内容を見ることすらできません。詳細は最後)
とにかく、各プログラム言語によって、作成方法は異なります。プログラム言語を使ったことがないユーザーであれば、まず、言語の基礎を知ってからです。
VBやVC、C++などのプログラム言語をまず勉強しましょう。

それと、マ社の発行しているDirectXコンポーネントやWindowsプログラムの一部に利用されているDLLは逆コンパイル及びソースの改変は許可なくできません。使用許諾違反になる恐れというよりなる可能性が極めて高いです。また、その他の第三者著作に関しても当人の許可を得ていなければ同じです。

これを著作権法違反というのです・・・これらはフリーソフトであっても、シェアソフトであってもすべてにある物です。
(フリーソフトは、無料ソフトといいますが、プログラムの著作権を放棄しているわけではありません。使う上では無料ですが、著作者に無断で逆コンパイルして内容を見ることやソースを変更することはできません。内容を確認できるのはオープンソースとして公開している物、著作者に許諾を得て見る場合、もしくは当人が著作権を放棄した場合に限ります)
    • good
    • 0

参考URL→用語解説→解凍・連結関連に


DLL(Dynamic Link Library)の説明があります

参考URL:http://www.dlmaster.com/
    • good
    • 0

 詳しく書いたら、本の一冊にもなるんで、簡単に...



 貴方が、Windowsのプログラマであると仮定します。違う場合には補足して下さい。
DLL(=ダイナミック リンク ライブラリ)とは、言葉通り動的にリンクされる、ライブラリでいろいろな機能があります。%windir%system(32)配下にある、拡張子DLLが全て、DLLです。
 VC等の開発ツールを使って作成する事が出来ますが、作成方法は各言語のヘルプを参照して下さい。

 次に使い方ですが、アプリケーションを作成する場合に、機能分けを行い。他のアプリケーションでも使う可能性がある機能を、ライブラリに分解する手法があります。その時に、LIBで提供し静的にリンクするのではなく、プログラム実行後に動的にリンクする方式がDLLです。

 どこにあるのか?
 拡張子DLLが全てそうです。
 沢山ありますので、ご自分のしようしているパソコンで検索してみて下さい。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q戻り値の意味がわかりません…

戻り値とはどういう値なのか簡単な例文で教えて頂けますか?

Aベストアンサー

バカくさいかもしれませんが簡単な例えをだしてみます。
2人の子供がいて、名前をそれぞれ太郎・花子にしましょう。この2人の子にある役割を決めます。
・花子は飴をもらうと、それをチョコにする役割。(できるかは別として)
・太郎は花子を呼んで飴をあげる役割。

さてこの例では太郎の飴が引数(ひきすう)になり
花子のチョコが戻り値になります。

このイメージを元に次の文を読んでみてください。

「プログラム中の関数やサブルーチンが処理を終了し
呼び出し元に処理の結果として返す値。」

これが戻り値の正しい定義です。
そのほかにはNo1さんのような役割指すときも、それを「戻り値」と呼んだりします。

QエクセルVBAでデータ最終行取得方法

エクセルVBAでデータ最終行取得方法で良い方法を教えてください。

データの行数、列数は不定。
最多のデータ行の列も不定。

この条件で、データ最終行を取得するにはどうすればよいでしょうか?

lastrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
では、A列の最終行に限定されます。

lastrow = ActiveSheet.Cells(1, "A").SpecialCells(xlLastCell).Row
では、列の限定はありませんが、一旦データ入力後、削除した部分まで入ってしまいます。

lastrow = ActiveSheet.UsedRange.Rows.Count
では、データ入力後、削除した部分まで入ってしまい、かつ、1行目など上部が空白の場合、不正確になります。

Aベストアンサー

それぞれの利点も欠点も分かっているなら後は
足りない部分を補うようにすればよいだけではないでしょうか。

・A列の最終行に限定されてしまう。
→列の指定を動的にして最大の行数を取得する。
例えばこんな感じ。ForでなくてもDoとかでも可です。
for x = 1 to ActiveSheet.Usedrange.Collumns.Count
temprow = ActiveSheet.Cells(ActiveSheet.Rows.Count, x).End(xlUp).Row
if temprow > lastrow then
lastrow=temprow
end if
next

結局他の部分にしても
最終行として取得したセル内が空白がどうかのチェックを行い、空白だったら行削除するとか、1行目など上部が空白の場合の例外処理をいれて対応しましょう。

QVBとVBAの違い

お世話になります。

現在、ExcelVBAで機械設計の計算をさせようと思い勉強しているのですが、VBとVBAの違い(VBと比較したとき、VBAできること、できない事)の境目?がいまいち判りません。
まだまだ勉強中で困惑しております。このままExcelVBAを勉強していく物か、VBについて勉強していくか迷っています。このままExcelVBAを勉強してExcelVBAを理解すれば判断できるかと思うのですが、畑違いの勉強になってしまわないかと心配です。

やりたいことは、各種計算の簡略化です。
現在は、関数電卓で行っていますが、これをパラメータを入力すると計算結果が出る。このような物を作りたいと思っています。

長くなってしまったのでまとめると、
1、VBAとVBの違い
2、ExcelVBAで設計計算が可能か
あと、
プログラムにより計算させるときに、最適なプログラム(JavaとかPHPとかHTML等など・・・)お勧めのプログラムがありましたらアドバイス頂けたらと思います。

Aベストアンサー

1. VBAとVBの違い

VBは単体で動作するアプリケーションが作れますが、VBAはOfficeが必要です。
また、VBAはOfficeの環境が使えるので、Excel等を使った入出力の機能が既にできていますが、VBではある程度自分で作る必要があります。また、費用的な面でVBは購入しないと使えませんが、VBAはOfficeがあれば使えますので、既にExcelなどを導入されているならば、追加の費用が必要ありません。
もし、複数の人間で作ったプログラムを利用され、かつその中にOfficeを持っていない人が含まれるのであればVBAではできませんので、VBが必要です。

2. ExcelVBAで設計計算が可能か

可能です。また、多分VBAを使わなくてもExcelの関数でもある程度のことが可能だと思われます。お持ちの関数電卓の桁数にもよりますが、相当な高精度が必要でない限り大丈夫です。

文面からすると、プログラミング未経験のようですが、やりたいことが明確なので、Excelをお持ちであればVBAで始めてみてはいかがでしょうか。他の言語(Java, C, PHP...)でも可能でしょうが、中には環境を用意しなくてはならなかったり、本質である計算以外に気にしなくてはならないことが多く、初心者にはとっつきづらいのではないかと考えます。

VBAからVBへの移行、VBからVBAへの移行はどちらも可能ですし、VBAからVBへの移行は多少時間がかかるかもしれませんが、VBよりVBAから始める方が楽なので、どちらに優越があるとは一概に言えないと思います。一人でちょっと使う程度や勉強用なら、ExcelVBAをお勧めします。
しばらくすると、ExcelVBAの限界を感じるようになると思うので、そこからVBに移行するというのでも悪くないと思います。

1. VBAとVBの違い

VBは単体で動作するアプリケーションが作れますが、VBAはOfficeが必要です。
また、VBAはOfficeの環境が使えるので、Excel等を使った入出力の機能が既にできていますが、VBではある程度自分で作る必要があります。また、費用的な面でVBは購入しないと使えませんが、VBAはOfficeがあれば使えますので、既にExcelなどを導入されているならば、追加の費用が必要ありません。
もし、複数の人間で作ったプログラムを利用され、かつその中にOfficeを持っていない人が含まれるのであればVBAではで...続きを読む


人気Q&Aランキング

おすすめ情報