社区
Delphi
帖子详情
动态数组分配内存空间溢出
jjdf
2003-03-26 10:21:16
内存为512M,虚拟内存4095M
给几个动态数组用setlength分配空间,每个应该分配的空间在
600M-1200M之间,总和大概3G左右,但是一分配就内存溢出,
小一些的没问题,也没有超出4G的限制,何故?
...全文
211
5
打赏
收藏
动态数组分配内存空间溢出
内存为512M,虚拟内存4095M 给几个动态数组用setlength分配空间,每个应该分配的空间在 600M-1200M之间,总和大概3G左右,但是一分配就内存溢出, 小一些的没问题,也没有超出4G的限制,何故?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
艳阳天11
2003-05-02
打赏
举报
回复
搞不懂
DelphiStudy
2003-03-26
打赏
举报
回复
没错,Windows下,你的程序用的虚拟内存最好不要超过物理内存的1.5倍(什么程序呀,这么大)。
jjdf
2003-03-26
打赏
举报
回复
能突破2G的限制么?
lxlzq
2003-03-26
打赏
举报
回复
你想弄死WINDOWS啊!
强烈建议你的长度不要超过你的内存总量的一半!!
否则~~~~~
alphax
2003-03-26
打赏
举报
回复
win32下,一般应用程序的虚拟空间只有2G,有些系统调节一下,可以达到3G。
不过你搞那么多空间没有多少个系统受得了
python堆栈
溢出
的原因_堆栈
溢出
一般是什么原因
堆栈
溢出
是由于函数调用过深或无限递归导致的,也可能源于动态空间未释放和非法内存访问。解决方法包括优化递归,合理
分配
内存,检查数组和指针访问。堆栈
溢出
不同于堆
溢出
,前者涉及调用堆栈,后者与内存
分配
有关。理解这些概念有助于预防程序错误。
1 堆栈
溢出
- Visual Stdio
当遇到0xC00000FD堆栈
溢出
错误时,可以尝试修改Visual Studio的链接器设置,增大栈的保留和提交大小,或者采用动态内存
分配
,使用new运算符从堆中
分配
内存,并确保有对应的析构函数释放空间。养成避免在栈上定义大数组或大对象的习惯,以防止栈空间不足导致的
溢出
问题。
C语言 用malloc()创建
动态数组
(2)
本文详细介绍了C语言中
动态数组
的创建和管理,包括地址空间、内存类型的概念,以及使用malloc和free可能出现的错误,如忘记
分配
内存、没有
分配
足够空间、忘记释放内存和错误地调用free。强调了栈和堆的区别,并提醒在使用字符串时注意
分配
大小,避免内存
溢出
和内存泄漏的问题。
0xC00000FD:Stack Overflow
本文主要探讨了栈
溢出
问题的成因及解决方案。通常情况下,栈
溢出
是由局部变量占用过大的
内存空间
导致的,比如声明过大尺寸的数组。为避免此类问题,可以采用动态内存
分配
方式,通过使用 new 在堆中
分配
内存。
c/c++内存
分配
注意点
本文详细介绍了C/C++中的内存区域,包括栈、堆、静态区、文字常量区和程序代码区的特性及使用。强调了动态内存
分配
的重要性,指出在函数中不应直接创建大数组以防止栈
溢出
,并给出了动态内存
分配
的注意事项,如使用malloc后应进行清零操作,避免内存泄漏。同时,举例说明了文件IO和函数内malloc释放空间的正确处理方式,以及malloc
分配
失败的检查。最后,提到了calloc在
分配
内存时自动清零的优势。
Delphi
5,943
社区成员
262,943
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章