首页 > 解决方案 > 如何设置在 Windows 上使用 CreateProcess 创建的新进程的主线程的堆栈大小?

问题描述

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

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

标签: c++windows

解决方案


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

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


推荐阅读