绑定到具有idris的c结构的抽象类型 [英] bind to abstract types for c struct with idris

查看:53
本文介绍了绑定到具有idris的c结构的抽象类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我找不到如何将此 typedef struct TF_Status TF_Status; 视为抽象类型并绑定到该

I can not find how to treat this typedef struct TF_Status TF_Status; as abstract types and bind to that

c函数是 TF_Status * TF_NewStatus();

data TF_Status
tfNewStatus : IO TF_Status 
tfNewStatus = foreign FFI_C "TF_NewStatus" (IO TF_Status)

http://docs.idris-lang.org/en/latest/reference/ffi.html

它抱怨说在检查参数fty以使用外部函数时:找不到类型FTy FFI_C [](IO TF_Status)的值

推荐答案

TF_Status * TF_NewStatus(); 在被调用时返回指向 TF_Status 的指针.所以你只需要

TF_Status* TF_NewStatus(); returns a pointer to a TF_Status when called. So you only need

tfNewStatus : IO Ptr 
tfNewStatus = foreign FFI_C "TF_NewStatus" (IO Ptr)

这篇关于绑定到具有idris的c结构的抽象类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆