保留空间的容量用于为堆栈设置一个上限,这样就可以抓住代码中的循环递归错误

当调用C r e a t e T h r e a d时,如果传递的值不是0,就能使该函数将所有的存储器保留并分配给
线程的堆栈。由于所有的存储器预先作了分配,因此可以确保线程拥有指定容量的可用堆栈存
储器。 保留空间的容量既可以是/ S TA C K链接程序设定的容量,也可以是C b S t a c k的值,谁大就
用谁。
分配的存储器容量应该与传递的c b S t a c k值相一致。 如果将0传递给C b S t a c k参数,
C r e a t e T h r e a d就保留一个区域,并且将链接程序嵌入. e x e文件的/ S TA C K链接程序开关信息指明
的存储器容量分配给线程堆栈

保留空间的容量用于为堆栈设置一个上限,这样就可以抓住代码中的循环递归错误。例如,
你编写一个 递归自调用函数,该函数也包含导致循环递归的一个错误。每次函数调用自己的时候,
堆栈上就创建一个新的堆栈框。如果系统不设定堆栈的最大值,该递归函数就永远不会停止对自
己的调用。进程的所有地址空间将被分配,大量的物理存储器将被分配给该堆栈。通过设置一个
堆栈限制值,就可以防止应用程序用完大量的物理存储器
,同时,也可以更快地知道何时程序中
出现了错误(第1 6章中的S u m m a t i o n示例应用程序显示了如何跟踪和处理应用程序中的堆栈溢出)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值