
C语言
文章平均质量分 90
嘻嘻啰啰
这个作者很懒,什么都没留下…
展开
-
malloc的底层实现
malloc分配的是虚拟内存,因为这样能够让操作系统为每个进程提供独立的地址空间,简化内存管理,增加安全性,防止碎片化,并提供更大的内存空间供应用程序使用。空闲链表存储着当前堆中所有空闲的内存块,链表中的块可以按大小排序,或使用分级链表存储(即每个链表存储特定大小范围的块)。2.如果程序需要多个独立的内存块,或者要求内存块有特定的对齐要求,那么我们也选择mmap,它的独立性使得取多个内存块更加快速。块头之后是用户可以使用的内存区域。2.是连续的内存块,它分配的内存块是连续的,所以它的堆管理更加简单。原创 2024-11-05 20:37:42 · 1088 阅读 · 0 评论 -
大端存储和小端存储
我们从最开始的汇编语言就可以知道,数据与程序在内存里面以二进制的形式进行存储,而它们进行存储的时候我们可以知道它以什么作为单位,比如就拿我最近学的8086CPU作为例子,它可以一次性处理以下的两种尺寸的数据。1.字节:一个字节由8个bit组成,可以存在8位寄存器中。2.字:一个字由两个字节组成,在一个字中我们可以分成高位字节和低位字节,如下图。接下来我们就来说一下什么是大端存储什么是小端存储了。当一个多字节的数据(例如 32 位整数)被存储在内存中时,需要决定这些字节的存储顺序。原创 2024-11-04 21:42:12 · 1090 阅读 · 1 评论