代码拉取完成,页面将自动刷新
#include <cstdio>
#include <cstdint>
#include <cstddef>
struct PoorlyAlignedData {
char c;
uint16_t u;
double d;
int16_t i;
};
struct WellAlignedData {
double d;
uint16_t u;
int16_t i;
char c;
};
#pragma pack(push, 1)
struct PackedData {
double d;
uint16_t u;
int16_t i;
char c;
};
#pragma pack(pop)
int main() {
printf("PoorlyAlignedData c:%lu u:%lu d:%lu i:%lu size:%lu\n",
offsetof(struct PoorlyAlignedData,c), offsetof(struct PoorlyAlignedData,u), offsetof(struct PoorlyAlignedData,d), offsetof(struct PoorlyAlignedData,i), sizeof(PoorlyAlignedData));
printf("WellAlignedData d:%lu u:%lu i:%lu c:%lu size:%lu\n",
offsetof(struct WellAlignedData,d), offsetof(struct WellAlignedData,u), offsetof(struct WellAlignedData,i), offsetof(struct WellAlignedData,c), sizeof(WellAlignedData));
printf("PackedData d:%lu u:%lu i:%lu c:%lu size:%lu\n",
offsetof(struct PackedData,d), offsetof(struct PackedData,u), offsetof(struct PackedData,i), offsetof(struct PackedData,c), sizeof(PackedData));
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。