アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語を勉強しているのですが、いまいちよくDLLの意味がわかりません。例えば、シューティングのゲームで、当たり判定の処理をDLL形式?で保存して、違うシューティングを開発するときにそのDLLの関数を使って当たり判定を簡単にする。みたいな解釈でいいのでしょうか。また作成するときはどうやって作ればいいのでしょうか。ちなみにvisual studio 2008を持っています。ご教授お願いします。

A 回答 (2件)

DLLはDynamic Link Libraryの略で一定の処理を外部ファイル化して


他のプログラムなどから呼び出す(ダイナミックリンク)ことを可能に
する手法です。

http://ja.wikipedia.org/wiki/%E3%83%80%E3%82%A4% …

WindowAPIやDirectX、MFCなどがDLLとして提供されています。
DLLの特徴は一般的に流用可能な部分を外部化して共有化することで
毎回同じ処理を書いたりする必要をなくし、容量を抑えることにあります。
逆に言えば共有化する必要のない部分などをDLLにしてしまうとその分、
ファイル数が増えて管理しにくくなりますし、ダイナミックリンクする
分、動作など全体的に遅くなったりするかも知れません。
(容量も増えます)

因みにWindowsのDLLは単体では実行できない実行ファイルです。
EXEとはヘッダなどの一部分が異なりますが、大部分では同じです。
種類も通常のDLLの他、COM用などのDLLがあり作り方は微妙に異なり
ます。
普通のDLLならVC++などで雛形を作ってくれるので後はそのまま
作っていけばいいでしょう。
COMタイプはちょっと難しかったり面倒だったりします。
COMタイプはVBでも作れるみたいですね。
DLLの作り方はネットを調べればいろいろ出てきますし、SDK関係の
本などでも解説されています。

http://www.kumei.ne.jp/c_lang/
    • good
    • 0

>例えば、シューティングのゲームで、当たり判定の処理をDLL形式?で保存して、違うシューティングを開発するときにそのDLLの関数を使って当たり判定を簡単にする。


おおむね合っていると思います。
共通処理をコンポーネント化したり、大規模なプログラムを分散して開発できるなどの利点があります。

言語が書かれていないのでC++として、詳しい説明は以下を参照してください。
http://msdn.microsoft.com/ja-jp/library/1ez7dh12 …
    • good
    • 0

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