如何在窗口上设置使用 CreateProcess 创建的新进程的主线程的堆栈大小?

How can I set the stack size of the main thread of a new process created using CreateProcess on windows?

本文关键字:进程 线程 堆栈 新进程 设置 窗口 创建 CreateProcess      更新时间:2023-10-16

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

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

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

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