码迷,mamicode.com
首页 > 其他好文 > 详细

内存充足时,malloc内存分配失败问题

时间:2015-01-25 16:46:47      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:内存   充足   malloc   分配   失败   

如题,为什么内存充足时,malloc内存分配失败?


首先,在32位平台下,系统最多可管理4G内存,其中2G系统自用,剩下2G可供用户使用,然而在实际分配时,用户可用空间始终小于2G(若有童鞋在如上条件下分配空间 等于或大于2G可以联系我哦,以让我纠正自己的错误)。64位则可以管理好多,有兴趣的童鞋可以自己算下哦!技术分享


那么,这些跟malloc内存分配失败有什么关系呢有什么关系呢?哈哈,问题就在这里,32位平台下就不多说,相信上面的叙述可以解决童鞋们的问题。在64位平台下,童鞋们是不是发现依旧只能分配2G不到的内存?这是因为,目前几乎所有的编译器在安装时debug模式,release模式默认是在32位平台的。可以理解为,程序是否为32/64位程序与系统无关,而是由编译器决定。所以,只需要修改编译器的编译选项,这里以VS2013为例。

在界面窗口有可选的debug/release编译选项,单击这里,然后选中配置管理器,将32位平台替换为64位平台即可。若编译选项中没有x64,那么就自己创建一个,狂点下一步就行(相信这个大家还是能搞的定,就不上图了哦)。


按照如上方法,问题是不是解决了呢?

内存充足时,malloc内存分配失败问题

标签:内存   充足   malloc   分配   失败   

原文地址:http://blog.csdn.net/u013507368/article/details/43114715

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!