如何在Haskell项目中使用DLL?

Der*_*gel 43 haskell shared-libraries ghc cabal haskell-stack

我想在Haskell项目中使用外部库RDFox.

上下文:我使用GHC 7.10和堆栈在64位上运行Windows和Linux .RDFox是用C++编程的.可以使用Java和Python包装器下载RDFox共享库(.dll,.so).

目的:我想在我的Haskell项目中重用RDFox(.dll,.so)中的编译库,因此我需要为RDFox创建一个Haskell包装器.

问题:对于Haskell来说相对较新,我很难知道从哪里开始.我找到了几个关于这个主题的页面(来自Haskell wiki和StackOverflow),但工作流程和配置对我来说并不清楚.

问题:我想知道:

  1. 如何配置堆栈和cabal以使用外部库,在Windows Linux(不同的机器,相同的存储库)上构建.
  2. 如何在此外部库上配置GHCi以进行交互式测试.
  3. 将Python包装器转换为Haskell是最好的方法吗?我想避免分析RDFox C++代码.

小智 0

该文档的答案:

ghc -c Adder.hs
ghc -c StartEnd.c
ghc -shared -o Adder.dll Adder.o Adder_stub.o StartEnd.o
Run Code Online (Sandbox Code Playgroud)