内存管理简便复习总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存管理简便复习总结相关的知识,希望对你有一定的参考价值。
在virtual的知识里摸爬滚打好几天,最近大脑有些不够用了,现在整理一下
非考虑内存对齐时各个结构的大致模型
至于考绿内存的在前面几张已经叙述过了,为了方便,我再纸上画了整体的流程,,
内存分配要注意对齐参数=min(pack,最大字节的类型); 虚函数指针和虚函数表指针跨越的大小一定是对齐参数的整数倍,即使中间会造成不必要的填充浪费,
本人已经上传到相册,共11张
https://i.cnblogs.com/EditGalleries.aspx?catid=938935 (相册1)
https://i.cnblogs.com/EditGalleries.aspx?catid=938937 (相册2)
类的实部字节对齐细则:
类分为实部和虚部,而实部作为一个整体的结构自然也需要字节对齐。又因为是类的一个部分所以字节对齐也有点特殊。总的来说可以描述如下:
1. 有虚部的类不需要整体进行自身字节对齐,但是对于外部来讲有虚部的类的有效对齐是他的各个基类,包括实基类和虚基类,和成员变量中有效对齐参数最大的那个。
2. 实部的有效对齐参数是实继承的各个基类和各个成员变量(也包括隐藏成员变量)中有效对齐参数最大的那个,实部按照这个有效对齐参数进行自身对齐。
3. 实部的起始地址代表了类的起始地址,所以在该类作为其他派生类的子基类的时候,实部的起始地址相对于总的类的起始地址的偏移要是类的有效对齐的整数倍。
以上是关于内存管理简便复习总结的主要内容,如果未能解决你的问题,请参考以下文章