绑定到具有idris的c结构的抽象类型 [英] bind to abstract types for c struct with idris
本文介绍了绑定到具有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屋!
查看全文