c2hsc
andを使用するとhsc2hs
多くの作業を節約できますが、C 共用体のバインディングを作成しようとしたときに、いくつかの問題に遭遇しました。
たとえば、C 構造体が与えられた場合、
typedef struct {
int tag;
union {
char a;
double b;
} v;
} sum_t;
c2hsc
私のために次のコードを作成します:
#starttype sum_t
#field tag , CInt
#field v ,
#stoptype
v
フィールドは空で生成されます。経由でツールチェーンをさらに下に行くhsc2hs
と、間違った結果が得られます
data C'sum_t = C'sum_t{
c'sum_t'tag :: CInt,
c'sum_t'v ::
}
今の質問は
.hsc
バインディングを操作できるようにコードを手動で記述する正しい方法は何ですか?c2hsc
これを自動的に行う方法はありますか?