我有一个类似于以下内容的struct
:
typedef struct _pair_t{
uint16_t keylen; // 2
uint32_t vallen; // 4
} __attribute__((__packed__)) pair_t;
我将使用 mmap
从文件中读取,因此我想将数字存储为大端序。
我需要做htobe16
/betoh16
还是有一些__attribute__
可以为我做到这一点?
你需要使用 htobe16 或 htons 或类似的东西。 在大多数编译器中,无法将变量声明为具有不同的字节序。
我知道一个(付费的,商业的)编译器有一个开关,可以将整个程序变成"相反"的字节序,但这不是你想要的,我相信你不想为此付费。