C和指针-终于看到指针这一章

C和指针-终于看到指针这一章

“注意,尽管一个字包含了4个字节,它仍然只有一个地址。至于它的地址是它最左边那个字节的位置还是最右边那个字节的位置,不同的机器有不同的规定。另一个需要注意的硬件事项是边界对齐(boundary alignment)。在要求边界对齐的机器上,整型值存储的起始位置只能是某些特定的字节,通常是2或4的倍数。”

——难道最近项目中碰到问题是硬件造成的对齐问题?原来在服务器上用的程序现在在普通PC机装上Linux运行,好多结构体的成员都取不到正确的值。虽然猜测是对齐问题,但原代码中有使用#pragma pack(1) 或 #pragma pack(push,1)。莫非普通电脑上不能1字节对齐而服务器可以?

周一去试试

转载于:https://www.cnblogs.com/zcdqs/archive/2013/03/16/2963943.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110190.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号