Haskell FFI:结构中的函数指针

时间:2012-08-10 19:44:32

标签: haskell struct function-pointers ffi

说我在C中有这个结构:

/* C */
struct foo {
  char *name;
  int (*links)(foo*);
  /* ... */
};

如果我有x :: Ptr Foo,我如何获得FunPtrx的{​​{1}}, 使用links?我想避免这种情况因为警告 关于函数和非函数的Haddocks具有不同的地址范围(和 可能尺寸?),因此铸件可能会导致问题行为 平台。

1 个答案:

答案 0 :(得分:4)

......好的,没关系。 :)

如果有其他人想知道这一点,你可以使用hsc2hs的#peek(等)来读取一个字段FunPtr a,它似乎正常工作。