最近移植一个项目至Solaris平台,sparc架构
遇到了各种bus error
总结下,都是非对齐内存地址惹的祸
8字节数值变量取地址时必须保证变量地址为8的整数倍
4字节数值变量取地址时必须保证变量地址为4的整数倍
对于曾经1字节对齐的struct各种痛苦
struct test
{
unsigned int a;
unsigned int b;
}
test a;
printf("a is %lu, b is %lu.\n", a.a,a.b):
各种core dump