基于复杂的Haskell类型生成C结构体

基于复杂的Haskell类型生成C结构体,第1张

概述我试图在我的C代码中使用 Haskell库.我试图使用的Haskell函数的类型为String – > IO [参考]其中Reference是一个相当复杂的结构(见 here for details). 基于阅读各种文档,似乎我必须使这种类型是Storable的一个实例,并且还有一个类似的结构,在我的C代码中定义,以便能够访问它.对于这样一个复杂的类型来说,这似乎是很多非常重复的工作.有没有办法自 我试图在我的C代码中使用 Haskell库.我试图使用的Haskell函数的类型为String – > IO [参考]其中Reference是一个相当复杂的结构(见 here for details).

基于阅读各种文档,似乎我必须使这种类型是Storable的一个实例,并且还有一个类似的结构,在我的C代码中定义,以便能够访问它.对于这样一个复杂的类型来说,这似乎是很多非常重复的工作.有没有办法自动化这个?如何做这样的事情呢?

解决方法 这取决于你的实际用例,但…
将Reference引用为不透明类型(通过 Foreign.StablePtr)可能更容易,并导出getter函数以访问各个字段.

如果您需要更多详细信息,请通知我,我会扩大答案.

总结

以上是内存溢出为你收集整理的基于复杂的Haskell类型生成C结构体全部内容,希望文章能够帮你解决基于复杂的Haskell类型生成C结构体所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存