导入 c++使用 ffi 将数据类型转换为 haskell
我正在为 C++ 库编写一个 Haskell 包装器,尽管我可以将函数从库导入到我的 Haskell 程序中,但我不知道如何导入 C++ 数据类型。例如,我有一个函数,它接受 some.h 文件中定义的 video::E_DRIVER_TYPE EDT_OPENGL 类型作为参数,正如我之前所说,我知道如何使用
foreign import ccall ...
使用适当的编译器 来使用 ffi 导入该函数-mangled 函数名称
,但我无法从 haskell 调用该函数,因为我无法弄清楚如何导入/使用这个特定的视频驱动程序数据类型。
现在,我知道您可以在 Haskell 中创建类型,但我仍然需要一个起点来将类型定义为任何 C++ 表示形式。 (我现在很困惑)
我将不胜感激任何形式的帮助!谢谢
I'm writing a haskell wrapper for a c++ library and as much as I can import functions from the library to my haskell program, I have no clue how to import c++ data types. For instance I have a function which takes as a parameter a video::E_DRIVER_TYPE EDT_OPENGL type defined in some.h file, and as I said before I know how to import the function with ffi using
foreign import ccall ...
with the appropriate compiler-mangled function name
but I'm not able to call the function from haskell because I can't figure out how to import/use this specific video driver data type.
Now, I know that you can create types in Haskell but still I need a starting point as to what to define the type to whatever the c++ representation is. (I'm confused at this point)
I would appreciate any kind of help! Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
从 Haskell 调用 C++ 是相当困难的; Haskell Wiki / Cxx 外部函数接口列出了一些选项。
Calling C++ from Haskell is quite difficult; Haskell Wiki / Cxx foreign function interface lists some options.