COM和DLL和activex 的區別

Web開發者發表於2016-05-23

COM和DLL的區別:

1) dll是以函式集合的方式來呼叫的,是程式語言相關的,如:VC必須加上extern "C"。

而COM是以interface的方式提供給使用者使用的是一種二進位制的呼叫規範,是與程式語言無關的。

2) DLL只有DLL一種形勢, 裡面可任意定義函式無限制, 只能執行在本機上 ,而COM有DLL和EXE兩種存在形勢。

3) COM所在的DLL中必須匯出四個函式:1. dllgetobjectclass, 2. dllregisterserver, 3. dllunregisterserver, 4. dllunloadnow.

Com補充:

COM解決了版本、模組化開發,所有語言使用,當然只能在WINDOWS平臺上。

COM載體:DLL、EXE(不常用),OCX(用於activex控制元件),activex實際上是COM的一種變體,但本質上沒變,當然ACTIVEX控制元件也能以DLL作載體。

DLL,ACTIVEX,COM,外掛區別:

DLL(基於名字匯入的,名字就是符號,DLL有符號表的。根據約定好的名字呼叫函式)

介面是按照規劃定義的規則集合

簡單說來呢,這好比一棵樹,

COM(元件是基於介面的,根據約定好的介面對COM物件進行控制)是樹根,

元件(軟體的組成部分.)是樹幹,

控制元件(具有使用者介面的元件)和ActiveX都是樹枝,

外掛(網頁中用到的,flash外掛,沒有它瀏覽器不能播放flash.)就是樹上引來的一隻鳥。

ACTIVEX和COM的區別:

兩者沒有質的區別,前者主要用於客戶端,後者用於伺服器端。

前者可以有介面而後者決沒有介面

ActiveX的作用:可輕鬆方便的在 Web頁中插入多媒體效果、 互動式物件、以及複雜程式, ActiveX外掛安裝的一個前提是必須經過使用者的同意及確認。

外掛:指會隨著IE瀏覽器的啟動自動執行的程式

相關文章