我正在为一个c库编写一个haskell包装器,尽管我可以将函数从库导入我的haskell程序,但我不知道如何导入c数据类型 . 例如,我有一个函数,它将some.h文件中定义的video :: E_DRIVER_TYPE EDT_OPENGL类型作为参数,正如我之前所说,我知道如何使用ffi导入函数
国外进口ccall ...
使用适当的编译器修改的函数名称
但是我无法从haskell调用该函数,因为我无法弄清楚如何导入/使用这种特定的视频驱动程序数据类型 .
现在,我知道你可以在Haskell中创建类型,但我仍然需要一个起点来定义什么来定义c表示的类型 . (此时我很困惑)
我将不胜感激任何帮助!谢谢
1 回答
从Haskell调用C非常困难; Haskell Wiki / Cxx foreign function interface列出了一些选项 .