当线程溢出它的堆栈时,就生成一个异常条件

本文介绍了cbStack参数在线程创建过程中的作用,包括如何通过链接程序设置初始堆栈大小,以及系统如何根据需要动态调整堆栈大小。还讨论了线程堆栈溢出时系统如何响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6.4.2 cbStack
c b S t a c k参数用于设定线程可以将多少地址空间用于它自己的堆栈。每个线程拥有它自己
的堆栈。当C r e a t e P r o c e s s启动一个进程时,它就在内部调用C r e a t e T h r e a d来对进程的主线程进
124计计第二部分编程的具体方法
下载
行初始化。对于c b S t a c k参数来说,C r e a t e P r o c e s s使用存放在可执行文件中的一个值。可以使用
链接程序的/ S TA C K开关来控制这个值:
r e s e r v e参数用于设定系统应该为线程堆栈保留的地址空间量。默认值是1 MB。C o m m i t参
数用于设定开始时应该承诺用于堆栈保留区的物理存储器的容量。默认值是1页。当线程中的
代码执行时,可能需要多个页面的存储器。当线程溢出它的堆栈时,就生成一个异常条件
(关
于线程堆栈和堆栈溢出的异常条件的详细说明,参见第1 6章,关于一般异常条件的处理的详细
说明,参见第2 3章)。系统抓取该异常条件,并且将另一页(或者你为c o m m i t参数设定的任何
值)用于保留空间,这使得线程的堆栈能够根据需要动态地扩大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值