堆栈溢出的怪现象!!

wymesmile 2011-05-19 05:02:20
程序功能是读入一个txt 文件中的数据,程序直接运行 读入300个数据时没有问题,设置成读入600个 时 提示0xc00000fd stack overflow

可是 在读入200个数据设置断点, 这个时候也是会提示 0xc00000fd stack overflow
这是为什么啊??直接读300个 没有问题啊,怎么设置成200个时候 就会出错呢??
...全文
216 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
majia2011 2011-05-20
  • 打赏
  • 举报
回复
新手路过

估计溢出的地方应该是转存的位置
FoxBryant 2011-05-20
  • 打赏
  • 举报
回复
进行记录数不定的操作时,最好使用动态分配的方式存储数据,用完后再去delete
  • 打赏
  • 举报
回复
为了看看是不是真正的栈溢出,你可以设置栈的大小,因为在默认情况下,栈大小为1m,当然这是vs的默认,其他编译器可能不一样
pmars 2011-05-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 bokutake 的回复:]

你肯定是直接放在一个数组里的,Windows下栈空间是1MB,局部变量都是在栈里。尽量不要在栈里弄过大的数组,因为函数返回时清空栈比较花时间。超过0.5MB的数据最好都用malloc分配到堆里去。
[/Quote]
就600个数据就能超??
有点悬吧。。。

建议lz贴下代码,让大家知道你是怎么写的!!
delphiwcdj 2011-05-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 bokutake 的回复:]

你肯定是直接放在一个数组里的,Windows下栈空间是1MB,局部变量都是在栈里。尽量不要在栈里弄过大的数组,因为函数返回时清空栈比较花时间。超过0.5MB的数据最好都用malloc分配到堆里去。
[/Quote]
++
小小蔷薇 2011-05-20
  • 打赏
  • 举报
回复
vc的话,工程设置的linker-system 中设置堆栈值
busybeeCS 2011-05-20
  • 打赏
  • 举报
回复
学习下
赵4老师 2011-05-20
  • 打赏
  • 举报
回复
在函数中声明的变量如果占用内存空间较大比如1000个字节以上,请在前面加static使其分配的内存从堆栈区挪到全局数据区以避免造成堆栈溢出。但要注意递归函数中这样做可能会有问题。
JetKate 2011-05-20
  • 打赏
  • 举报
回复
呵呵,说实在的,贴代码最直接,大家可以帮你检查下代码
danxuezx 2011-05-19
  • 打赏
  • 举报
回复
还是贴点代码比较好
辰岡墨竹 2011-05-19
  • 打赏
  • 举报
回复
你肯定是直接放在一个数组里的,Windows下栈空间是1MB,局部变量都是在栈里。尽量不要在栈里弄过大的数组,因为函数返回时清空栈比较花时间。超过0.5MB的数据最好都用malloc分配到堆里去。
hbprotoss 2011-05-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wymesmile 的回复:]

我就想问一下,该如何去看一个 参量有没有超出大小呢??
引用 7 楼 mengde007 的回复:

程序栈的空间是有限的,LZ恐怕早已超出了。分配到堆里即可,。
[/Quote]

Windows下一个线程默认栈大小1M
wymesmile 2011-05-19
  • 打赏
  • 举报
回复
我就想问一下,该如何去看一个 参量有没有超出大小呢??
[Quote=引用 7 楼 mengde007 的回复:]

程序栈的空间是有限的,LZ恐怕早已超出了。分配到堆里即可,。
[/Quote]
mengde007 2011-05-19
  • 打赏
  • 举报
回复
程序栈的空间是有限的,LZ恐怕早已超出了。分配到堆里即可,。
小小蔷薇 2011-05-19
  • 打赏
  • 举报
回复
程序里有没有使用数组越界的情况呢?
就想叫yoko 2011-05-19
  • 打赏
  • 举报
回复
贴代码看看
luciferisnotsatan 2011-05-19
  • 打赏
  • 举报
回复
没代码,没真相
cbib_cat 2011-05-19
  • 打赏
  • 举报
回复
直接贴代码
wymesmile 2011-05-19
  • 打赏
  • 举报
回复
喜助先生, 那么我的问题你知道是出在哪里吗? 这种现实 是为啥啊? 我是新手 不太懂啊~~
[Quote=引用 1 楼 q191201771 的回复:]

自己malloc或new在堆上申请空间存放文件读取的数据
[/Quote]
就想叫yoko 2011-05-19
  • 打赏
  • 举报
回复
自己malloc或new在堆上申请空间存放文件读取的数据

64,635

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧