使用 idris 绑定到 c 结构的抽象类型
bind to abstract types for c struct with idris
我找不到如何将这个 typedef struct TF_Status TF_Status;
视为抽象类型并绑定到那个
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
它抱怨 When checking argument fty to function foreign: Can't find a value of type FTy FFI_C [] (IO TF_Status)
TF_Status* TF_NewStatus();
returns 调用时指向 TF_Status
的指针。所以你只需要
tfNewStatus : IO Ptr
tfNewStatus = foreign FFI_C "TF_NewStatus" (IO Ptr)
我找不到如何将这个 typedef struct TF_Status TF_Status;
视为抽象类型并绑定到那个
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
它抱怨 When checking argument fty to function foreign: Can't find a value of type FTy FFI_C [] (IO TF_Status)
TF_Status* TF_NewStatus();
returns 调用时指向 TF_Status
的指针。所以你只需要
tfNewStatus : IO Ptr
tfNewStatus = foreign FFI_C "TF_NewStatus" (IO Ptr)