笔记

来源:互联网 发布:淘宝评价网站 编辑:程序博客网 时间:2024/05/22 03:40

字节序
小头:将低字节作为开始,存储在开始地址
大头:将高字节作为开始,存储在开始地址

存储的基本单位是字节,所以多字节类型在存储时,会按照一个顺序拆分成一个个字节,然后存储。

例:
存储0x1234
地址  0x01  0x02
小头  34    12
大头  12    34

 

 

字节对齐
1、规则:
 1-指定对齐字节和自身中取最小的。
 2-结构体以结构体中的最大成员的字节和指定对齐字节中最小的为准
2、#pragma pack (1)
3、计算每个开始地址:((A+3)/B)*B (起始地址A,对齐字节B)

 

程序在内存中的分布:
----------------------------------------------------------------------------------------
|低地址》.text |.data| .bss | heap(堆)-->      unused    <--stack(栈)  |  env 《高地址 |
----------------------------------------------------------------------------------------

.text 部分是编译后程序的主体,也就是程序的机器指令。

.data 和 .bss 保存了程序的全局变量,静态成员等,.data保存有初始化的全局变量,.bss保存只有声明没有初始化的全局变量。

 

0 0
原创粉丝点击