• ベストアンサー

DLLとCOMの違い

DLLとCOMの違いとは簡単にいうと、何でしょうか? どちらも同じような気がしてならないのです。

  • jekad
  • お礼率10% (24/230)

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

  • ベストアンサー
  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.1

ファイルの拡張子の話ですか? COMファイルはコマンド(COMmand)でMS-DOS時代からある旧式の実行ファイルです。 メモリの使い方がシンプルで昔は64KBまでとか制限がありました。 実行ファイルと言えば他に、EXEファイル(EXEcutable)がありますが、こちらの方は色々と拡張されていて今のWindowsでも使われています。 http://ja.wikipedia.org/wiki/COM%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB http://ja.wikipedia.org/wiki/EXE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88 DLLはダイナミックリンクライブラリ(Dynamic Link Library)で実行ファイルやシステムから呼び出されます、Windowsが使われる様になった時にメモリやHDDの使用量を節約する為に、共通する機能をDLLにして提供される様になりました。 http://ja.wikipedia.org/wiki/%E3%83%80%E3%82%A4%E3%83%8A%E3%83%9F%E3%83%83%E3%82%AF%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA ファイルの拡張子はエクスプローラが開いたり実行する時の判別に使われますが、実際にはファイルの中身の情報も見ているので、拡張子が.DLLや.COM以外の場合や、拡張子が.DLLや.COMでも中身が違うファイルの場合もあります。 他にはCOMコンポーネントという物もあります。 http://ja.wikipedia.org/wiki/Component_Object_Model COMはCOMmandの他にもCOMputer、COMMon、COMunicationなど多くの言葉の略語で使われるので、何の話かちゃんと話さないと相手に通じません。

関連するQ&A

  • com と co.jp の違いは?

    .comがアメリカで.co.jpが日本だというのは間違った考え方であると聞いたのですがちがいというのはなになのでしょうか? たしかにNiftyが.comに変更した点から見て.comはアメリカではないというのがわかります 違いを教えてください

  • DLLの違いについて

    MFC AppWizard(dll)で作成したDLLとWin32 Dynamic-Link Libraryで作成したDLLの違いは何でしょうか?客先に「MFCで作ってないんですか?」と聞かれて何が違うのかなと思いまして。不慣れなものですみません。

  • dll の違い

    VC++ Ver.6 で作った dll file が BC++ 5.0 でつくったソフトから うまく読み込めません この 2つのコンパイラで作った  dll file にある違いは何でしょうか。

  • DLLについて(C++とC#での違い)

    いつもお世話になっております。 FXでよく使われているMT4というチャートソフトのMQLという言語で、EAを作っているのですが、今までは、DLLの連携の必要がなかったため、勉強をしてこなかったのですが、 DLLの連携が必要になってきてしまったため、DLLについてお知恵をお貸し頂けたら幸いです。 私はDLLについてはほとんど知識がないため、 DLLについて調べていたのですが、 DLLには Win32 DLL COM形式のDLL NET仕様のDLL などの種類があるということで、 他の言語で作ったツールなどとの連携の際に、 どの種類の種類のDLLかによって、エラーが出たりするということを知りました。 (参照元URL) http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1439183399 また、DLLそのものも、C++やC#などで作れたりするということも知りました。 そこで、質問なのですが、 (1)C++とC#で作るDLLには、基本的に違いはあるのでしょうか?(書くコードとしての違い以外) (2)ご存知であればでいいのですが、MQLでDLLを連携して使う場合は、C++、C#、どちらで作ったDLLでも問題はないのでしょうか? 今まで独学でプログラミングをしてきたため、基本的な知識が抜け落ちており、 初歩的な質問で非常にお恥ずかしい内容なのかもしれないのですが、 恐れ入りますが、よろしくお願いいたします。

  • www.○●△.comと.○●△.comの違い

    現在、ある会社のASPにて独自ドメインを使用してコマースサイトを構築しています。○●△.comのドメイン名にてASPを設定しており、コマースサイトとなります。サブドメインとして、www.○●△.comと○●△.comを設定してレンタルサーバーを使用しています。HPの一般的なURLとしては、http://www.○●△.comになると思います。しかし、オンラインサイトが主な目的ですので、実際には、http://○●△.comで運用されているので、http://www.○●△.comでアクセスした人の取り逃しが心配です。http://www.○●△.comのページから直ぐにジャンプするようにするか?または、オフィシャルサイトのようなものを作成するか?考えられますが、可能ならば、http://www.○●△.comで運用したいと思います。これは可能なのでしょうか?

  • COMについて

    ATL COM AppWizardを使用し、簡単なメソッドを追加し、DLLは作成できたのですが、ASPから実行した後、サーバー上にある作成したDLLを削除できません。 メモリーを開放するプログラムを追加する必要があるのでしょうか?それとも他に何か方法があるのでしょうか?

  • .jpn.com と .com の違いについて

     お名前.com(http://www.onamae.com/campaign/slcomnetorg/) が新たに .jpn.com といったドメインの取り扱いをはじめたようですが、 .jpn.com とは、一般の .com などのgTLDとどのような違いがあるのでしょうか? また、どういった機関が管理しているのでしょうか? 他のレジストリに移管する場合などに何か制限はあるのでしょうか?   実際に、自分でGoogleなどを利用して調べてみたのですが、詳しいことがあまりわからなかったので、これらのことについて、ご存知の方がいらっしゃいましたら、答えていただければ幸いです。

  • ドメインで com と jp の違いを教えてください。

    ドメインで com と jp の違いを教えてください。

  • COM相互運用機能のON,OFFによるDLLの差異

    Visual Studio 2010で、VB.NETのクラスライブラリを作成して、.NETとCOMの両方で使用しているのですが以下のことがよく分かりませんので教えてください。 同じプロジェクトのDLLファイルをVB.NETなどから.NET用のDLLとして使っているだけでなく、VBAなどからもCOM用のDLLとして使っているのですが、プログラムに変更があると、COM相互運用機能の登録がONの場合とOFFの場合の両方で2回ビルドして各々のDLLファイルを別に用意して使い分けていました。しかし、先日、COM相互運用機能の登録をONにしてビルドしたDLLでもVB.NETなどから.NET用のDLLとして参照できてしまうことが分かりました。.NET用のDLLとして利用する場合には、COM相互運用機能の登録をON,OFFに関係なくどちらでビルドしたDLLファイルでも使用できるのでしょうか。たまたま今は参照できているだけで将来的には使えなくなる可能性があるので、.NET用のDLLとして使用する場合には、COM相互運用機能の登録をOFFにしてビルドしたDLLを使用するべきなのかがよく分かりません。つまり、下記の(A)と(B)のどちらが正しいのかがよく分かりませんので教えてください。 (A) VB.NETとして使用する場合には、COM相互運用機能の登録をON,OFFに関係なく、どちらでビルドしたDLLファイルでも使用できるが、COMとして利用する場合には、COM相互運用機能の登録をONにして、ビルドして作成したDLLファイル(.dll)とタイプ ライブラリ ファイル(.blt)を使用する。VB.NETとしてもCOMとしても利用する場合には、COM相互運用機能の登録をONの方だけビルドすればよい。 (B) VB.NETとして利用する場合には、COM相互運用機能の登録をOFFしてビルドしたDLLを使用する。COMとして利用する場合には、COM相互運用機能の登録をONにしてビルドして作成したDLLファイル(.dll)とタイプ ライブラリ ファイル(.blt)を使用する。VB.NETとしてもCOMとしても利用する場合には、COM相互運用機能の登録をON,OFFの両方で2度ビルドする必要がある。 なお、(A)が正しい場合にのみ、分かる範囲でいいので教えてほしいのですが、 コードを何も変更しないでビルドしてもDLLファイル(.dll)は更新されませんが、COM相互運用機能の登録のONとOFFを変更するだけでDLLファイル(.dll)は更新されています。COM相互運用機能の登録をONにしてビルドして作成されたDLLファイル(.dll)は、COM相互運用機能の登録をOFFにしてビルドして作成されたDLLファイル(.dll)と何が異なるのでしょうか。 よろしくお願いします。

  • COMについて

    VisualC++.netでCOMを作成する場合 基本的にMFCかATLベースになるわけですよね? 両者、違いがあるとするとなんでしょうか? 新規にCOMを作成するならMFCよりATLでしょうか? COMについて全く知識がありません。。 何故COMにするのか、COMにするメリット、デメリットはなんなのか等 メリットとして色々な言語から呼び出せる。 デメリットとしてレジストリに登録する必要がある。 といったところでしょうか? 宜しくお願い致します。 またCOMについてお勧めの書籍やサイトがあったら教えてください。

専門家に質問してみよう