Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows上的线程堆栈大小(Visual C+;+;)_Windows_Stack_Stack Size - Fatal编程技术网

Windows上的线程堆栈大小(Visual C+;+;)

Windows上的线程堆栈大小(Visual C+;+;),windows,stack,stack-size,Windows,Stack,Stack Size,是否调用以确定正在运行的线程的堆栈大小?我一直在查看MSDN线程函数文档,但似乎找不到一个。您可以从中的顶部和底部获得当前提交的大小。您可以从中获取进程的初始保留和提交大小。但是您无法检索传递给的实际大小,也没有任何API可以从当前堆栈获取保留或提交的剩余大小,请参阅。虽然没有API可以直接查找堆栈大小,连续的虚拟地址空间必须保留到最大堆栈大小-只是很多空间尚未提交。你可以利用这一点,打两个电话到 对于第一个调用,将堆栈上任何值的地址传递给它,以获取提交的堆栈空间的基址和大小(以字节为单位)。在

是否调用以确定正在运行的线程的堆栈大小?我一直在查看MSDN线程函数文档,但似乎找不到一个。

您可以从中的顶部和底部获得当前提交的大小。您可以从中获取进程的初始保留和提交大小。但是您无法检索传递给的实际大小,也没有任何API可以从当前堆栈获取保留或提交的剩余大小,请参阅。

虽然没有API可以直接查找堆栈大小,连续的虚拟地址空间必须保留到最大堆栈大小-只是很多空间尚未提交。你可以利用这一点,打两个电话到

对于第一个调用,将堆栈上任何值的地址传递给它,以获取提交的堆栈空间的基址和大小(以字节为单位)。在堆栈向下增长的x86机器上,再次从基址和VirtualQuery中减去大小:这将给出为堆栈保留的空间大小(假设您当时没有精确地限制堆栈大小)。将二者相加自然会得到堆栈的总大小。

更多信息请参见: