我有struct
类似于:
typedef struct _pair_t{
uint16_t keylen; // 2
uint32_t vallen; // 4
} __attribute__((__packed__)) pair_t;
我将使用mmap
来读取文件,因此我希望将这些数字存储为大端。
我是否需要执行htobe16
/ betoh16
或者有一些__attribute__
可以为我执行此操作?
答案 0 :(得分:5)
您需要使用htobe16或htons或类似物。大多数编译器都没办法将变量声明为具有不同的字节序。
我知道一个(付费的,商业的)编译器,它有一个开关将整个程序转换为"反对"结束,但那不是你想要的,而且我确定你不想付钱。