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参数设定的任何
值)用于保留空间,这使得线程的堆栈能够根据需要动态地扩大。
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参数设定的任何
值)用于保留空间,这使得线程的堆栈能够根据需要动态地扩大。