【OS】关于堆、栈生长方向和大小端模式
###Date: 2018-1-30
###Author: SoaringLee
=======================================================================
堆是向上生长的,即从低地址到高地址;栈是向下生长的,即从高地址到低地址。
不同的系统在存储数据时是分大端(bit-endian)小端(little-endian)存储的,比如,Inter x86、ARM核采用的是小端模式,Power PC、MIPS UNIX和HP-PA UNIX采用大端模式。
小端模式是:低地址上存放低字节,高地址上存放高字节。
大端模式是:低地址上存放高字节,高地址上存放低字节,又称网络字节序。
大小端的判别:
/*
* 1: little-endian
* 0: big-endian
*/
int checkEndian()
{
int a = 1;
char *p = (char *)&a;
return (*p == 1);
}
1: 0x00000001
小端读取顺序:01--》00--》00--》00 *p=1(低地址)
大端读取顺序:00--》00--》00--》01 *p=0(低地址)
本文为博主原创文章,未经博主允许不得转载。若允许转载,请注明来源https://www.cnblogs.com/SoaringLee/,否则保留追究法律责任的权利!
另外,本人提供付费咨询服务并长期承接各类毕设以及外包项目。联系QQ:2963033731。加Q备注:CNBLOG外包