【Linux】Linux内存介绍以及C与C++内存管理

本文深入探讨Linux内存结构,包括代码段、数据段、BSS和堆栈,以及内存分配与管理机制。同时,对比C语言与C++在内存管理上的差异,分析malloc、calloc、realloc函数及new运算符的使用场景和特点。
摘要由CSDN通过智能技术生成

本文主要分为三个部分。第一部分是对linux的内存做一下简单介绍。第二部分是对C和C++内存管理的几个关键字做一些介绍和它们的不同。第三部分是参考资料。

  • 第一部分

这一部分包含有两部分内容。第一部分是在Linux中内存的分配;第二部分是内存的管理。

内存分配:

在linux中对内存的申请是做如下操作。当申请成功的时候,只是返回的逻辑地址,即从某个地址到某个地址区间的内存你可以使用。这个时候物理内存是没有分配,只有你做真实的写操作的时候,真正的物理内存才分配下来。

而且当申请内存的时候,一般会分配比申请内存要大的一块内存区域,把这块内存缓冲下来。这样下次申请的的时候就可以在缓存内首先查找,而不需要去操作系统申请。同样在内存释放的时候,也不会立即把内存释放给操作系统,也是缓冲下来。这也可以解释为何有些时候申请内存的时候,内存里会有乱七八糟的数据。这就是因为少一次申请内存中的数据么有被清零,而这块内存又被缓冲下来。

对于linux中内存分配如下图所示:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值