您的位置:首页 > 其它

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

2015-01-25 15:08 253 查看
如题,为什么内存充足时,malloc内存分配失败?

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


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

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

按照如上方法,问题是不是解决了呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: