使用ffi将c ++数据类型导入haskell

时间:2009-12-05 22:50:05

标签: c++ haskell types ffi

我正在为c ++库编写一个haskell包装器,尽管我可以将函数从库导入我的haskell程序,但我不知道如何导入c ++数据类型。例如,我有一个函数,它将some.h文件中定义的video :: E_DRIVER_TYPE EDT_OPENGL类型作为参数,正如我之前所说,我知道如何使用ffi导入函数

外国进口ccall ......

使用适当的编译器修改的函数名称

但是我无法从haskell调用该函数,因为我无法弄清楚如何导入/使用这种特定的视频驱动程序数据类型。

现在,我知道您可以在Haskell中创建类型,但我仍然需要一个起点来确定将c ++表示形式定义为什么类型。 (我现在很困惑)

我会感激任何帮助!感谢

1 个答案:

答案 0 :(得分:4)

从Haskell调用C ++非常困难; Haskell Wiki / Cxx foreign function interface列出了一些选项。