共找到5條詞條名為IDL的結果 展開

IDL

介面描述語言

IDL是Interface description language的縮寫,指介面描述語言,是CORBA規範的一部分,是跨平台開發的基礎。

簡介


IDL是用來描述軟體組件介面的一種計算機語言。IDL通過一種中立的方式來描述介面,使得在不同平台上運行的對象和用不同語言編寫的程序可以相互通信交流;比如,一個組件用C++寫成,另一個組件用Java寫成。
IDL通常用於遠程調用軟體。在這種情況下,一般是由遠程客戶終端調用不同操作系統上的對象組件,並且這些對象組件可能是由不同計算機語言編寫的。IDL建立起了兩個不同操作系統間通信的橋樑。
從本質上講,OMG IDL介面定義語言不是作為程序設計語言體現在CORBA體系結構中的,而是用來描述產生對象調用請求的客戶對象和服務對象之間的介面的語言。OMG IDL文件描述數據類型和方法框架,而服務對象則為一個指定的對象實現提供上述數據和方法。
OMG IDL文件描述了伺服器提供的服務功能,客戶機可以根據該介面文件描述的方法向伺服器提出業務請求。在大多數CORBA產品中都提供IDL到相關編程語言的編譯器。程序設計人員只需將定義的介面文件輸入編譯器,設定編譯選項后,就可以得到與程序設計語言相關的介面框架文件和輔助文件。IDL文件應用過程如圖1所示。

數據類型


(1)基本數據類型:OMG IDL基本數據類型包括short、long和相應的無符號(unsigned)類型,表示的字長分別為16、32位。
(2)浮點數類型:OMG IDL浮點數類型包括float、double和long double類型。其中float表示單精度浮點數,double表示雙精度浮點數,long double表示擴展的雙精度浮點數。
(3)字元和超大字元類型:OMG IDL定義字元類型char為面向位元組的碼集中編碼的單位元組字元; 定義類型wchar為從任意字符集中編碼的超大字元。
(4)邏輯類型:用boolean關鍵字定義的一個變數,取值只有true和false。
(5)八進位類型:用octet關鍵字定義,在網路傳輸過程中不進行高低位轉換的位元序列。
(6)any數據類型:引入該類型用於表示OMG IDL中任意數據類型。

介面


CORBA介面作為服務對象功能的詳細描述,封裝了服務對象提供服務方法的全部信息,客戶對象利用該介面獲取服務對象的屬性、訪問服務對象中的方法。
介面用關鍵字interface聲明,其中包含的屬性和方法對所有提出服務請求的客戶對象是公開的,如下例:
interface JobManager
{ readonly attribute string FirstName;
attribute string status;
string QueryJobStatus( in long Number, out string property); }

特點


1、IDL是一種規範語言。
2、IDL看上去很像C語言
3、OMG IDL的目的是定義介面和精簡分佈對象的過程。
4、IDL分離對象的介面與其實現。
5、IDL剝離了編程語言和硬體的依賴性。
6、使用IDL定義介面的客戶機程序員不知道介面背後的實現細節。
7、IDL提供一套通用的數據類型,並以這些數據類型來定義更為複雜的數據類型。