當前位置:編程學習大全網 - 編程語言 - com編程的COM編程入門

com編程的COM編程入門

第壹部分——什麽是COM,如何使用COM。

本文的目的是為剛剛接觸COM的程序員提供編程指南,並幫助他們理解COM的基本概念。內容包括COM規範簡介,重要的COM術語以及如何重用現有的COM組件。本文不包括如何編寫自己的COM對象和接口。

本文由淺入深描述COM的內在運行機制,教妳如何使用第三方提供的COM對象(以Windows 外殼組件Shell為例)。讀完本文後,妳就能掌握如何使用Windows操作系統中內建的組件和第三方提供的COM對象。

本文假設妳精通C++語言。在例子代碼中使用了壹點MFC和ATL,如果妳不熟悉MFC和ATL也沒關系,本文會對這些代碼進行完全透徹的解釋。本文包括以下幾個部分:

簡單地說,COM是壹種跨應用和語言***享二進制代碼的方法。與C++不同,它提倡源代碼重用。ATL便是壹個很好的例證。源碼級重用雖然好,但只能用於C++。它還帶來了名字沖突的可能性,更不用說不斷拷貝重用代碼而導致工程膨脹和臃腫。

Windows使用DLLs在二進制級***享代碼。這也是Windows程序運行的關鍵——重用kernel32.dll, user32.dll等。但DLLs是針對C接口而寫的,它們只能被C或理解C調用規範的語言使用。由編程語言來負責實現***享代碼,而不是由DLLs本身。這樣的話DLLs的使用受到限制。

MFC引入了另外壹種MFC擴展DLLs二進制***享機制。但它的使用仍受限制——只能在MFC程序中使用。

COM通過定義二進制標準解決了這些問題,即COM明確指出二進制模塊(DLLs和EXEs)必須被編譯成與指定的結構匹配。這個標準也確切規定了在內存中如何組織COM對象。COM定義的二進制標準還必須獨立於任何編程語言(如C++中的命名修飾)。壹旦滿足了這些條件,就可以輕松地從任何編程語言中存取這些模塊。由編譯器負責所產生的二進制代碼與標準兼容。這樣使後來的人就能更容易地使用這些二進制代碼。

在內存中,COM對象的這種標準形式在C++虛函數中偶爾用到,所以這就是為什麽許多COM代碼使用C++的原因。但是記住,編寫模塊所用的語言是無關的,因為結果二進制代碼為所有語言可用。

此外,COM不是Win32特有的。從理論上講,它可以被移植到Unix或其它操作系統。但是我好像還從來沒有在Windows以外的地方聽說過COM。

  • 上一篇:無人駕駛編程標題大全
  • 下一篇:現在噴墨打印機哪個牌子好惠普噴墨打印機哪個好
  • copyright 2024編程學習大全網