结构体sizeof不想字节对齐
来源:互联网 发布:x mirage mac 激活码 编辑:程序博客网 时间:2024/04/29 18:07
问题描述:笔者在做一个项目:硬件要访问内存中按照Spec格式定义的一段数据包。在C语言中一般使用结构体初始化这个数据包,因为可以方便配置各个字段。但结构体默认需要字节对齐的(sizeof和实际大小不同),因此和内存真实的存放方式可能不同。
解决方法:让结构体按1字节对齐,例如:
struct test{
char ch;
int size;
char str[10];
}__attribute__ ((aligned (1)));
或者其等价形式:
struct test{
char ch;
int size;
char str[10];
}__attribute__ ((packed));
struct test mytest;
这样sizeof(mytest)=15。
阅读全文
0 0
- 结构体sizeof不想字节对齐
- 字节对齐 结构体的sizeof
- 笔试 sizeof 字节对齐 结构体
- 结构体的sizeof字节对齐问题
- 基于结构体sizeof的字节对齐问题讨论
- 内存的字节对齐及结构体的sizeof计算
- sizeof - 指针,数组,变量,结构体字节对齐-计算
- sizeof计算结构体大小(字节对齐)
- 内存的字节对齐及结构体的sizeof计算
- sizeof 与结构体大小及结构体对齐问题, 字节对齐
- 结构体字节对齐
- 结构体字节对齐
- 结构体字节对齐
- 结构体字节对齐
- 结构体字节对齐
- 结构体字节对齐
- 结构体字节对齐
- 结构体字节对齐
- JavaScript基础(3.数组与字典)
- Java RandomAccessFile用法
- IT基础架构规划方案一(网络系统规划)
- #####好######简单易学的机器学习算法——因子分解机(Factorization Machine)
- 狼来了:AI到底会不会抢走我们的工作?
- 结构体sizeof不想字节对齐
- Misformatted domain name 之解决方案
- 使用Spring自定义注解实现任务路由
- ExecuteInEditMode
- 开始在Linux上的折腾之路
- 设计模式之模板模式
- 熵编码基础概念
- MySQL 函数:获取字符串字母部分
- KVM的使用中最常见的故障排除与处理