首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • float x[512*512]声明失败怎么回事? [已结帖,结帖人:tflvtfio]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tflvtfio
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-20 21:57:55 楼主
    用的是vs2005,运行时显示stack overflow,怎么调整默认的stack大小啊
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lzr4304061988012
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 22:00:431楼 得分:0
    .......
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • akirya
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 6

    发表于:2008-08-22 22:36:162楼 得分:7
    你的局部变量太多了,用new分配吧.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xqls_xqls
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 22:40:263楼 得分:0

    我用的是VC6.0 和VS2008
    没有问题,两个都可以编译通过
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • k2eats
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 22:42:004楼 得分:7
    栈空间默认只有1M(有的是2M)
    你定义的float x[512*512]是在栈中分配内存,太大了,所以堆栈溢出

    可以在堆中分配:float *x =(float*)malloc(512*512*sizeof(float));
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fox000002
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 23:03:015楼 得分:0
    栈中分配这么大内存,不是找死吗
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • realyigo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 23:09:166楼 得分:6
    项目->属性->链接器->系统->堆栈保留大小. 单位是字节. 默认是1M.
    堆栈提交大小不用管, 默认是1个页面,大概4k. 不够的时候系统会自动帮你提交. 设大的好处是减少运行时提交页的性能损失.坏处是开线程的时候会占用更多的物理内存.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chlaws
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 15:22:167楼 得分:0
    .
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhongyunde
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 20:37:038楼 得分:0
    您定义的是全局变量应该是堆,而不是堆栈
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ztwztq864791
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 22:03:109楼 得分:0
    系统很可能找不到这么大的连续内存块,
    你可以改用链表来做,就可以了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lingol
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 13:20:0010楼 得分:0
    引用 9 楼 ztwztq864791 的回复:
    系统很可能找不到这么大的连续内存块,
    你可以改用链表来做,就可以了。

    9楼,你不懂就别说出来让人鄙视……
    PS:2楼、4楼已经说得很清楚了,此帖可结
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • budTang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-31 04:55:1111楼 得分:0
    想改堆栈大小就按 6 楼说的做
    不过建议还是用堆分配更好
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved