playerken

博客园 首页 新随笔 联系 订阅 管理

在大端机器(solaris-sparc,hpux-hppa)上从奇数内存地址取一个整形(2 or 4 bytes)会崩溃。如:

unsigned short Res = *(unsigned short *) tmpArray;

应该:

char tmpArray[sizeof(unsigned short)] = {0};
for(int i = 0; i < sizeof(unsigned short); ++i)
{
tmpArray[i] = *(pcNewHdr + i);
}

unsigned short Res =*(unsigned short *) tmpArray;

posted on 2014-12-24 15:31  playerken  阅读(228)  评论(0编辑  收藏  举报