c2hs的大c2hs推断大小

时间:2016-05-26 15:13:21

标签: c unix haskell ffi c2hs

当编写具有5个选项(使用c2hs)的C enum的Storable实例时,{# sizeof #}宏返回4(即4个字节)。当3位足够时,这不是非常浪费吗?这取决于记忆词的大小吗?

1 个答案:

答案 0 :(得分:1)

枚举的大小是实现定义的。标准说:

  

6.7.2.2枚举说明符
...

     

每个枚举类型应与char,有符号整数类型或   无符号整数类型。类型的选择是实现定义的......

BTW,在C ++中,可以明确指定基础类型,例如:

enum E : int
{
    // ...
};