社区
C++ 语言
帖子详情
c++的new最大能分配多少内存
percyzhang
2005-10-27 05:02:33
unsigned int a=1500000000;
BYTE* d=new BYTE[a];
出现异常
unsigned int a=1400000000;
BYTE* d=new BYTE[a];
能申请到虚拟内存
在256M内存机器和2G内存机器上都是这样,哪位高手能给予帮助
...全文
5920
11
打赏
收藏
c++的new最大能分配多少内存
unsigned int a=1500000000; BYTE* d=new BYTE[a]; 出现异常 unsigned int a=1400000000; BYTE* d=new BYTE[a]; 能申请到虚拟内存 在256M内存机器和2G内存机器上都是这样,哪位高手能给予帮助
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
YFY
2005-10-27
打赏
举报
回复
楼主怎么要那么大内存啊。
cxyol
2005-10-27
打赏
举报
回复
堆:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。
doway
2005-10-27
打赏
举报
回复
#include <iostream>
int main()
{
//
unsigned int sz = 1024*1024*1024*2;
try {
char* a = new char[sz];
}
catch (...) {
std::cout << "out of memory\n";
}
return 0;
}
测试时这个会报错,但改成 1024*1024*1024*1 后还可以。证明与 Windows 所声称的一样,用户可以使用的内存不到 2G,而 new 仅仅受到这个限制。
楼主如果不想受此限制,可以换 64 位机器和操作系统。:)
oyljerry
2005-10-27
打赏
举报
回复
按照系统来说,一般每个应用程序分配4G的虚拟内存,然后系统需要占用2G,因而给应用程序的只有2G了,(不过,这个可以调整) 还要去除一些数据占用等,具体需要测试了
寻开心
2005-10-27
打赏
举报
回复
1
在启动windows2000的时候,在boot.ini当中加入/3GB
或者在windows2003的时候,在boot.ini当中加入 /4GB
可以减少一些服务占据的空间,释放最大的空间给用户使用。
这些开关给予每个应用程序3GB的空间,只保留1G的空间给系统使用
详细信息可以看这两个说明:
http://www.brianmadden.com/content/content.asp?ID=69
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dngenlib/html/msdn_ntvmm.asp
qhfu
2005-10-27
打赏
举报
回复
用new分配这么大的内存根本没有意义。默认windows堆大小是 1M
寻开心
2005-10-27
打赏
举报
回复
这个都是理论上的,
具体实际当中,系统当中有很多的应用程序,他们也会占据一些空间的
到底能够用多少,那就不能定论了
cholera
2005-10-27
打赏
举报
回复
你再换个4G的内存看看, 或是你多试几次, 把分水岭找到看看, 然后再分析
寻开心
2005-10-27
打赏
举报
回复
这个和操作系统有关系
在32位系统下理论上是4G
在windows环境下,是2G,特殊处理后,可以到3G
windows的内存管理系统正常情况下保留了2G,用户可以用的空间是2G
但是通过设置,系统可以再让出1G的空间
这个就是win32的最大限制了
具体的电脑和能不能分配,看的是‘物理内存 + 虚拟内存’只要空间大就可以分配
percyzhang
2005-10-27
打赏
举报
回复
我的虚拟内存设置到最大4G,物理内存为2G,
unsigned int a=1500000000;
BYTE* d=new BYTE[a];
就是出现异常
有没有申请大内存的方法呢
xiaocai0001
2005-10-27
打赏
举报
回复
这个?
不太清楚了~
selenium+python自动化环境搭建
环境搭建: 1、到Python官网下载Python安装包:https://www.python.org/ 进入Python官网后,点击Downloads菜单,进入下载界面,Python最新版本号为3.7.0(本人用的为3.6.1),如果你是电脑是Windows操作系统,可以直接点击 “Download Python 3.7.0”按钮下载保存Windows 32位版本的安装包。 ...
Python + selenium + Eclipse 环境搭建
目录 一、Windows系统下搭建python环境 1、安装Python 2、安装python的安装包管理工具pip 3、安装基于Python的Selenium包 二、Windows系统下搭建selenium web driver环境 1、安装Chrome Driver 2、安装IE Driver 三、python开发环境配置:Eclipse PyDev插件安装 1、Ecl...
Python+Selenium- 环境搭建
Selenium是目前最流行的web自动化测试工具,也常用于网络爬虫,已经更新到3以上的版本。
python+selenium自动化测试环境搭建步骤(selenium环境搭建)-绝不浪费您的时间
一、自动化简介 1.自动化测试概念: 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程 2.自动化测试分类: 一般IT上所说的自动化测试是指功能自动化测试,通过编码的方式用一段程序来测试一个软件的功能,这样就可以重复执行程序来进行重复测试的目的。如果一个软件有小部分功能发生改变,只要修改一部分自动化测试代码,就可以重复对软件进行测试,从而提高测试效率。...
Mac环境python + selenium 环境搭建
Mac环境python + selenium 环境搭建
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章