一个关于C语言程序内存泄露的问题:

[复制链接]
查看11 | 回复3 | 2011-12-7 17:53:50 | 显示全部楼层 |阅读模式
malloc是向系统申请内存的,因为你用的系统在你的程序退出后自动释放的内存,所以没有造成泄露问题。这种情况下,你的程序不退出,而是不断地申请内存,部分释放内存或完全不释放内存,才会造成泄露。...
回复

使用道具 举报

千问 | 2011-12-7 17:53:50 | 显示全部楼层
首先,你要知道在程序终止退出的时候, 不管你在程序里申请了多少内存, 操作系统都会帮你释放。在程序执行过程中,才有内存泄露这样的说法,你申请内存, 不释放, 程序运行占用的内存就越来越大, 直到程序崩溃, 但你一旦退出程序, 所申请的内存都会被系统释放的...
回复

使用道具 举报

千问 | 2011-12-7 17:53:50 | 显示全部楼层
程序退出之后,它的内存都已经被操作系统收回。对于程序来讲,它自己觉得似乎占有整个内存以及整个CPU,但是实际上它受操作系统的控制,它的内存跟CPU(时间片)都是由操作系统分配给它的。 当然了,在程序内部必须设计有完善的内存申请/释放机制,保证在运行期间不在导致意外的内存泄漏。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行