查看: 1478|回复: 3
收起左侧

[已解决] 关于内存溢出

 关闭 [复制链接]
昔我往矣
发表于 2008-12-18 11:51:06 | 显示全部楼层 |阅读模式
我在网上查了一下内存溢出的解释是这样的:
"程序会按照储存数据的大小分配一块内存区域来储存数据。有时数据比这块区域大就会内存溢出。"
那我的问题就是,既然"程序会按照储存数据的大小分配一块内存区域来储存数据",那么会有"有时数据比这块区域大就会内存溢出"的现象出现吗???
程序分配内存的依据是数据的大小,有多大的数据,就分配多少的空间,这不存在有内存溢出的现象啊...(除非数据比物理内存都要大)
有人替我解释一下吗?
屠龙猛男
发表于 2008-12-18 16:15:35 | 显示全部楼层
程序分配内存大小应该是指应用程序向操作系统请求的内存大小,但可能由于程序设计不合理,请求的内存大小比实际运行过程中所需要的内存小,于是就造成了内存溢出(好像也叫缓冲区溢出)。
ps:个人看法,欢迎高手拍砖
昔我往矣
 楼主| 发表于 2008-12-18 17:36:12 | 显示全部楼层

回复 2楼 屠龙猛男 的帖子

只因为设计不合理吗?那修改大一些就可以解决了,为什么还有这么多麻烦事呢
屠龙猛男
发表于 2008-12-18 17:56:29 | 显示全部楼层

回复 3楼 昔我往矣 的帖子

也不一定是设计不合理 有可能是其它原因造成的 好像入侵基本都是使用这种手段(即特意制造缓冲区溢出) 所以溢出应该也可以是外界环境造成的 至于改大一些的说法 我只能理解为这样会使内存的利用效率降低 有不有其它原因就不知道了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2026-10-21 22:24 , Processed in 0.082490 second(s), 4 queries , Redis On.

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表