内存对齐问题
来源:互联网 发布:淘宝刷微博粉丝软件 编辑:程序博客网 时间:2024/06/10 00:43
int main(int argc, char* argv[])
{
char sz[5] = {0};
int* pInt = (int*)(sz + 1);
printf("%d\n",*pInt);
return 0;
{
char sz[5] = {0};
int* pInt = (int*)(sz + 1);
printf("%d\n",*pInt);
return 0;
}
当程序运行在惠普安腾服务器上时,会报错 Bus error(coredump),引发信号SIGBUS,导致程序崩溃
//具体原因在于 指针pInt指向的地址不是内存对齐的,解决方法有待考虑。。
以指针形式访问内存地址时,地址必须是 字节对齐 ,即地址必须是指针类型长度的整数倍,当不符合此规则时,惠普服务器会引起内核崩溃;
在windows环境正,程序仍然能够继续运行,不过在测试用的控制台程序中,程序有着明显的运行速度变慢。
- 内存对齐问题
- 内存对齐问题
- 内存对齐问题
- 内存对齐问题
- 内存对齐问题
- 内存对齐问题
- 内存对齐问题
- 内存对齐问题
- 关于内存对齐问题
- 内存对齐问题
- 内存对齐问题
- 内存对齐问题 zz
- 内存对齐问题分析
- 内存对齐的问题
- Windows内存对齐问题
- 内存对齐的问题
- 内存对齐问题
- 内存对齐问题
- oracle触发器学习(一)
- 程序集
- 三个多月来的工作和学习小结
- Java开发最容易犯的21种错误
- rsync
- 内存对齐问题
- javascript
- 关于s:iterator 和s:if 的结合使用
- tomcat
- js 转换大小写的方法
- 十招PHP数组
- 获取request里的所有参数及参数名(参数名自动获取)
- dom
- 絮絮叨叨C++ template