2013-10-16 35 views
-2

任何人都可以請讓我清醒關於簡單的方式什麼是IDL,互操作性,可移植性?

1 IDL接口定義語言 2互操作性 3可移植性 4-API

預先感謝您

+0

1:http://stackoverflow.com/questions/670630/what-is-idl 2-4:是非常寬泛的問題。 – neminem

+0

如果2-4是非常寬泛的問題,那麼請在兩三行中解釋2-4。 – user2884098

回答

0

互操作性下列條款通常只是意味着系統已被設計以這樣的方式,其它的系統可以與它進行通信(或者從它,或兩者發送它的信息存儲/處理,請求信息。)

一個IDL是一種元語言允許一個程序(DLL等)來描述它的輸入和輸出 - 這是一個接口定義語言,因爲這是所有它提供,一個接口。許多具體的實現存在,但他們都在功能上非常相似,大部分是在語法相似,他們是'所有「」完全聲明(它們與輸入和輸出指定的函數的名稱,但是不知道這些功能'做'')。通常它們專門用於通過RPC調用函數。

一個API比這更通用--IDL可以指定一個API,但Web服務(SOAP或REST)或其他方式可以讓一個應用程序,DLL等調用另一個應用程序的函數。 「抽象」的意思就是 - 它只是一個接口的概念,在不知道或關心其實現的情況下調用一組相關函數。它完全獨立於語言。

便攜性是不同的概念 - 這通常意味着能夠編譯或運行在不同平臺上的程序沒有很多的工作。當然,如果API抽象出平臺差異,那麼API可以提供幫助。如果你想從磁盤讀取圖像到內存中,例如,你會做的非常不同的Windows與Linux的,有所不同的Windows 8與Windows 95的,也許稍有不同在64對相同的操作系統的版本的x86 。如果有人給你包裝,以便您可以編譯或鏈接到不同的文件根據你的平臺上,這樣你可以隨時調用同樣的功能在你的代碼,並得到相同的數據與平臺無關的,函數本身將是API,包裝將是API的實現,並且您的代碼將被視爲可移植的。