1
我有一個OCaml庫,有很多類,我需要一些翻譯器,以使它從OCaml庫中獲得一個C庫,以便能夠使用它的方法。如何做這樣的事情?如何將OCaml lib移植到lib從C代碼中獲取可執行文件?如何將OCaml lib移植到可從C代碼訪問的lib中?
我有一個OCaml庫,有很多類,我需要一些翻譯器,以使它從OCaml庫中獲得一個C庫,以便能夠使用它的方法。如何做這樣的事情?如何將OCaml lib移植到lib從C代碼中獲取可執行文件?如何將OCaml lib移植到可從C代碼訪問的lib中?
通常從一種語言移植到另一種語言是一個非常人工的過程。您通讀原始資料並將其主要通過手工轉換爲新語言。一路上可能有工具可以幫助你,但是你仍然需要把手弄髒很多。
也就是說,可以從C程序調用OCaml函數(反之亦然)。這仍然需要編寫一堆代碼,但可能會更容易(您只需要瞭解庫,而不是庫的工作方式)。
Here is a blog post on how to do this。除了那篇博文之外,你可以查看官方文檔,這些文檔更多地關注從OCaml調用C代碼(與你想要做的相反)。 That can be found here。
有沒有辦法從ocamlopt獲取可以鏈接到C代碼但是真正的C代碼(C源文件)的目標文件(camlcode.o)? – Rella 2010-04-14 22:04:30
您是否問ocamlopt是否會將OCaml編譯爲像GHC一樣用於Haskell的c代碼?據我所知,你不能那樣做,但我不確定。 – 2010-04-14 22:20:20
OCamlopt生成彙編代碼,而不是C代碼。 – 2016-11-07 03:57:05