プロが教える店舗&オフィスのセキュリティ対策術

お世話になっております。
PC用語が煩雑的になってきました。
一度認識確認をさせていただきたいです。

COM:現在はActiveXという名前になった。パソコンの内部に入れておくことによって必要な時にメモリ上にプログラム部品を使うことによってアプリケーションの開発を容易にするもの。COMはクラス

OLE:COMと同じだが、通信を通じてプログラム部品を使う。パソコンの内部に入れない。OLEはクラス。拡張子がocxなので、ocxと呼ばれることがある。

DLL:COMと同じ。

PECL:C言語で作ったPHPを拡張するためのモジュール。モジュールなのでクラスとは異なる、つまりインスタンス化することができない。

ライブラリ:クラス群の総称。つまりCOM,OLE,DLLはライブラリ。

以上の認識で間違いないでしょうか。
ご教授お願いいたします。

A 回答 (3件)

>COM:現在はActiveXという名前になった。

パソコンの内部に入れておくことによって必要な時にメモリ上にプログラム部品を使うことによってアプリケーションの開発を容易にするもの。COMはクラス

違います。

COM【Component Object Model】
Microsoft社が提唱する、部品化されたプログラムを作成・利用するための基盤となる技術仕様。特定の機能のみを持つプログラム部品を組み合わせることでアプリケーションソフトの開発が容易になる。この仕様に基づいてデータのやりとりができるプログラム部品のことをCOMコンポーネントと呼ぶ。
COMコンポーネントは開発に使った言語やコンポーネントのある場所などに拠らず、どの言語からでも、どこからでも利用することができる。
ネットワークを通じて別のコンピュータ上にあるCOMコンポーネントを利用する技術をDCOMと言う。これらの技術はWindowsだけでなく、UNIXやMac OSにも移植されている。

COMクラス
クラスをサポートしたオブジェクト指向プログラミング言語において、COMコンポーネントの呼び出しをラップし、COMコンポーネントの利用を容易にする為のクラス。

ActiveX
ActiveX(アクティブエックス)とは、Microsoft社が開発するインターネットに関するソフトウェアコンポーネントやその技術を示す用語。
COMコンポーネントのうち、インターネットに関するCOMコンポーネントのみを、ActiveXコンポーネントと称する事もある。
元々はMicrosoftがオブジェクトのやりとりを行う仕組みであるOLEからインターネットに関する技術を分離させたものがActiveX。

>OLE:COMと同じだが、通信を通じてプログラム部品を使う。パソコンの内部に入れない。OLEはクラス。拡張子がocxなので、ocxと呼ばれることがある。

違います。

OLE【Object Linking and Embedding】(オブジェクトのリンクと埋め込み)
OLEは、Microsoftが作った、オブジェクトをやり取りするための仕組み・規約のこと。
OLEの初期の用途は複合文書の管理のため。例えば、1つの文書ファイルの中で、テキスト部分をワードで、図の部分をペイントツールで編集する、など。
当初、動的データ交換 (Dynamic Data Exchange, DDE) の後継として公開された。
OLE2.0の規約に従って作られたソフトウェア部品の事をOCXと呼ぶ。

OCX【OLE Custom Control】
OCXとは、OLE2.0に準拠したソフトウェア部品。正しくは「OLEコントロール」だが、拡張子が.ocxであることからこう呼ばれるようになった。

OLEクラス
クラスをサポートしたオブジェクト指向プログラミング言語において、OCXソフトウェア部品の呼び出しをラップし、OCXソフトウェア部品の利用を容易にする為のクラス。

>DLL:COMと同じ。

違います。

DLL【Dynamic Link Library】(動的リンクライブラリ)
ソフトウェアの一種。動的リンクを使ったライブラリのこと。
Windowsにおいて、複数のアプリケーションソフトが共通して利用するような汎用性の高いプログラムを部品化してファイルとして保存しておき、必要に応じてメモリに呼び出して利用する手法。また、そのようにして利用されるプログラム部品のこと。
COM技術とはまったく異なる。

>PECL:C言語で作ったPHPを拡張するためのモジュール。モジュールなのでクラスとは異なる、つまりインスタンス化することができない。

違います。

PECL【PHP Extension Community Library】(ピックル)
PHPで利用できる拡張ライブラリ(パッケージ)を提供しているサービス。
PECLで提供されるライブラリはCで記述されているため、PHPで記述されたPEARのライブラリよりも高速に動作する。
PECLをクラス化できるかどうかは、実装に拠るので、クラス化可能な実装をすれば、ラッパークラスを作成する事も出来るし、インスタンス化する事も出来る。
当然、モジュールとして実装すれば、クラスではなくなるので、インスタンス化する事も出来ない。
つまり「クラスであるかどうか」「インスタンス化出来るかどうか」は「実装の方法に拠る」のであり「PECLだから」ではない。

>ライブラリ:クラス群の総称。つまりCOM,OLE,DLLはライブラリ。

違います。

ライブラリはあくまでもライブラリ。クラス群の総称ではありません。

COM,OLE,DLLはライブラリではありません。それぞれの技術・仕様・規格・手法の名称です。

ライブラリ【Library】
書庫。
各種の技術・仕様・規格・手法に従って作成されたソフトウェア部品を集めたもの。
COMコンポーネントを集めた物であれば「COMコンポーネントライブラリ」、OCXを集めた物であれば「OCXライブラリ」、動的リンクモジュールを集めた物であれば「動的リンクライブラリ(DLL)」、オブジェクト指向プログラミング言語を用いて一つの「クラス」として部品化し関連する複数のクラスを一つのファイルにまとめたものであれば「クラスライブラリ」と言う。

クラス【Class】
オブジェクト指向プログラミング言語でサポートされる構文の一つ。
COM,OLE,DLL,ライブラリなどの各種のソフトウェア技術・仕様・規格・手法とは一切無関係。
COM,OLE,DLL,ライブラリは「クラスと言う概念がない、オブジェクト指向プログラミング言語ではない言語や、アプリケーションからも利用される物」である事に注意する事。
現在、自分が使っている言語に「クラス」と言う物があるからと言って、各種のソフトウェア技術・仕様・規格・手法が、クラスを利用して使用されるとは限らない。

>以上の認識で間違いないでしょうか。

そういう訳で「すべて間違っています」が回答。
    • good
    • 0
この回答へのお礼

ありがとうございました。
とても参考になりました。
全て認識違いでしたので、間違ったまま突き進まなくてよかったです。
これを機に今一度調べて頑張ってみます。

お礼日時:2009/10/01 17:27

他の人が全部答えている通り、全部違いますね。



どこから仕入れた知識でしょう。ちょっと違う程度ではなく、ぜんぜん違う認識になっています。営業系の人か、パソコン教室に通い始めたか。

ここのカテゴリーは技術者向けの書き込みなので、この手の質問は、もう一つのデジタル系のOS系に書き込んでください。

又、この手の事柄なら、Net上にも展開されています。そこで、検索して調べてから、質問しましょう。

>COM:現在はActiveXという名前になった

最初から違いますが、COMは今もCOM。
「DCOMになった」と言うような間違いならわかりますが、たぶん、雑誌を読むだけでわかったような気になって、通り過ぎていると、こんな認識になってしまうのかと、創造しています。
ちなみに、ActiveXはその上のカテゴリーです。
    • good
    • 0
この回答へのお礼

ありがとうございました。
「雑誌を読むだけでわかったような気になって」ググッて調べた結果、分かったような気になっていたので、再確認させていただきました。
カテゴリ迷ったのですが、迷う時点で何も分かっていないんだなと思いました。
もっと勉強します。

お礼日時:2009/10/01 17:30

DLLには、単に関数をExportしているものと、IUnknownインターフェース等を搭載したもの(COM)があります。

ただし、COMはDLLだけの機能ではありません。

ocxはActiveXコントロールの拡張子で、OLEのことを指すわけではありません。
    • good
    • 0
この回答へのお礼

うーん。。
完全に分かった気になっていましたね。
まだ、m-take0220さんに書いてくださった意味も分からないです。。
まだまだ勉強が必要ですね。

お礼日時:2009/10/01 17:38

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