2010-06-29 31 views
6

通常,一個庫將以單一語言(例如C)發佈。如果圖書館變得有用,那麼該圖書館的許多語言包裝將被編寫。 究竟是他們這樣做嗎?他們如何爲同一個庫編寫不同的語言包裝?

請問有人對這個話題沒什麼看法。如果語言太依賴你選擇的語言並解釋它。

+0

一個相關的閱讀:http://stackoverflow.com/questions/636841/how-do-multiple-languages-interact-in-one-project – claws 2010-06-29 18:22:01

回答

5

有浮現在腦海中的幾個選項:

  • 端口原來的C庫爲您選擇
  • 編譯C庫到的東西(如DLL)的語言/平臺,可從其他組件調用
  • 把庫在網絡上,通過HTTP暴露的API,幷包裹在客戶端

上如果我想換一個C庫與受管理(.NET)層,我d編譯將庫轉換成DLL,展示我想要的API。然後,我會使用P/Invoke從我的C#代碼中調用這些API。

+0

什麼是P/Invoke在.NET中的Java域相當於 – claws 2010-06-29 18:14:56

+0

什麼關於解釋的語言像perl/python/php? – claws 2010-06-29 18:16:28

+2

@ claws:JNI是最常見的。 – 2010-06-29 18:16:45

相關問題