字节对齐的意思?
字节对齐的意义??不清楚字节对齐的意义?仅仅是以空间换取时间,提高效率?而且在项目中经常有字节对齐,什么
字节对齐的意义??
不清楚字节对齐的意义?仅仅是以空间换取时间,提高效率?而且在项目中经常有字节对齐,什么时候选择8字节对齐?什么时候选择4字节对齐?
[解决办法]
[解决办法]对齐是为了提高防存吞吐率,其核心原则就是「可一不二」。
处理器从内存读数据,一次读一个或两个或更多机器字,具体要其中的哪几个字节到处理器内部再处理。
为简化分析,这里假设一个机器字(四字节)好了。
一次防存可读地址为 0~3 字节单元的数据,也可读 4~7 单元,但不能读 2~5 单元。
若数据横跨机器字边界,而数据本身长度又不超过机器字,用两次防存才能读取那是很冤枉的。
另,与外部通信和写入磁盘一样,直接发送结构体是一种很弱智的行为。这不光牵涉到对齐不可靠问题,还牵涉到大小端问题。
良好的方式是格式化成字节流再做传送。