我有很多 C 结构,如
typedef struct {
unsigned int a;
unsigned int b;
} StructA;
还有很多功能,比如
void doSomethingWith(StructA*,StructB*,StructC*);
有没有一种简单的方法可以用 Haskell FFI 调用这些函数?就像,有什么东西表现得像 C 中的 & 运算符吗?(我想没有,但如果有我想知道)。我是否必须使 Haskell sidedata
的可存储实例(我没有这些结构的任何构造函数)。
另外:如果我必须传递一个结构而不是一个结构指针(不是一个假设的问题,我有一些这样的函数 - 这不是我的代码,所以我无能为力),我可以只传递结构代替?就像我想打电话一样
void function(StructA);
我可以这样做吗
foreign import ccall "function" :: CUInt -> CUInt -> IO()
?