虽然使用c2hsc
并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
自动做到这一点?