64,637
社区成员
发帖
与我相关
我的任务
分享
size_t round_up(size_t bytes, size_t align) { // 将bytes按照align对齐。一般bytes < align
return (((bytes) + align - 1) & ~(align - 1));
}
#pragma pack( push, 1 ) // 设置按单字节对齐,不加这个下面两个结构体占用空间会不同(虽然表面上看上去相同)
struct SMyStructA
{
bool A;
int C;
char B;
};
struct SMyStructB
{
bool A;
char B;
int C;
};
#pragma pack( pop )
size_t round_up(size_t bytes, size_t align) { // 将bytes按照align对齐。一般bytes < align
return (((bytes) + align - 1) & ~(align - 1));
}