2012-03-15 64 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标志来告诉它。