VS下堆栈保留大大小是指什么?

lihaining655 2009-04-13 10:56:23
我在vs2008下创建了WindowsMoble项目
在属性->连接器->系统下有一项“堆栈保留大大小”
默认是65536

然后我调用jrtplib库中的session,create后报错,我怀疑是多线程问题
然后我把65536修改为0,问题就解决了

想问一下各位,“堆栈保留大大小”是指什么?是创建线程是系统分配的默认堆栈大小吗?
我把它修改为0,会有什么影响?
谢谢了
...全文
4955 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Love_Qiu 2011-10-19
  • 打赏
  • 举报
回复
我也遇到了同样的问题!
xqhrs232 2010-07-12
  • 打赏
  • 举报
回复
做个记号
jiereliyi 2010-05-05
  • 打赏
  • 举报
回复
mark
lihaining655 2009-04-16
  • 打赏
  • 举报
回复
不好意思,学校网速太慢,现在结贴
jackyjkchen 2009-04-14
  • 打赏
  • 举报
回复
1M
  • 打赏
  • 举报
回复
想问一下各位,“堆栈保留大大小”是指什么?是创建线程是系统分配的默认堆栈大小吗?
我把它修改为0,会有什么影响?

为0就是默认值,堆栈保留大大小就是该代码函数的独占堆栈大小。
greatws 2009-04-14
  • 打赏
  • 举报
回复
65536是64K,0是默认值1M,有可能在栈上申请的空间太多,导致栈溢出而无法运行,改为1M就够了
qgw_2000 2009-04-14
  • 打赏
  • 举报
回复
不好意思,确认了一下,确实是1M。
lihaining655 2009-04-14
  • 打赏
  • 举报
回复
非常感谢个位热情的回复,马上结贴

在网上找到了相关的书籍,写在这里以示后者

《Windows核心编程》第6章,第16章

另外默认值0代表1M,好像不是代表无限制
danxuezx 2009-04-13
  • 打赏
  • 举报
回复
学习一下
qgw_2000 2009-04-13
  • 打赏
  • 举报
回复
“堆栈保留大大小”是指程序堆和栈最大增长的大小,比如65536表示堆栈最大可增长到64K。
如果是0的话就没有大小限制。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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