2012-03-15 51 views
7

我在haskell中編寫了一些代碼,必須從C中調用。是否存在Haskell中的工具或庫,可以簡化爲需要導出的haskell函數編寫FFI包裝代碼。haskell生成FFI導出包裝代碼

例如,根據需要,給出要導出的haskell函數的工具將小心(生成包裝器代碼)將haskell類型映射到正確的Foreign.C類型等。當映射[Int]類型時,它也會負責生成正確的指針。就像提問者在這裏嘗試Automatic conversion of types for FFI calls in Haskell一樣。但只有它像圖書館一樣可用?

回答

1

我寫了一個名爲Hs2lib的工具來做到這一點。如果你在windows上,你很幸運,它會做所有的事情,包括編譯代碼到一個DLL和生成C/C++或C#包裝。如果你在linux上,恐怕我還沒有完成編譯步驟,但它仍然會產生所需的編組信息和存根。你可以通過使用-T標誌來告訴它。