我正在研究一个操作系统抽象层,该层除具有许多其他功能外,还提供了创建新流程的可能性。为了协调不同操作系统之间的行为,在Windows实施中,我想设置新进程的主线程的堆栈大小。

到目前为止,我正在使用CreateProcess创建新进程,但是它没有像CreateThread和_beginthreadex那样提供某种堆栈大小参数。
我已经阅读过Microsoft文档,但找不到任何东西。

最佳答案

主线程栈的大小是在编译时通过链接器在可执行标头中设置一个值来定义的。有关更多详细信息,请参见https://docs.microsoft.com/en-us/windows/win32/procthread/thread-stack-size

除了使用/STACK实用程序的EDITBIN选项编辑此标头之外,无法控制新进程的堆栈大小。

关于c++ - 如何设置在Windows上使用CreateProcess创建的新进程的主线程的堆栈大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57472619/

10-11 03:53