4

C で次の構造体があるとします。

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

を持っている場合、 を使用せずに toをx :: Ptr Foo取得するにはどうすればよいですか? 関数と非関数のアドレス範囲が異なる (場合によってはサイズも?) という Haddocks の警告のため、これを回避したいので、キャストによってこれらのプラットフォームで問題のある動作が発生する可能性があります。FunPtrxlinkscastPtrToFunPtr

4

1 に答える 1

4

...分かった、気にしないで。:)

他の誰かがこれを疑問に思っている場合は、hsc2hs #peek(など) を使用してフィールドを として読み取るだけで、うまく機能FunPtr aするようです。

于 2012-08-10T20:24:21.117 に答える