多个vs项目中的堆栈大小 让我说,我有一个C++ VisualStudio解决方案,它有5个项目A、B、C、D和E。项目已经将/Stuter-Link选项设置为: A=4MB B=空(默认为1MB) C=空(默认为1MB) D=16MB E=25MB

多个vs项目中的堆栈大小 让我说,我有一个C++ VisualStudio解决方案,它有5个项目A、B、C、D和E。项目已经将/Stuter-Link选项设置为: A=4MB B=空(默认为1MB) C=空(默认为1MB) D=16MB E=25MB,c++,visual-studio,stack,stack-size,C++,Visual Studio,Stack,Stack Size,它们都是作为单独的DLL构建的,具有公开的功能。项目: A包含一个函数foo_A,它调用foo_b(从b)和foo_c(从c) B包含函数foo_B,该函数调用foo_d(从d)和foo_e(从e) 如果我调用函数A.foo_A,堆栈大小是多少?如果我直接打电话给E.foo_E也一样吗 手动启动的线程(使用CreateThread)可以从函数调用的参数中获取自定义大小,主线程的堆栈大小是根据EXE中的信息设置的 您的五个DLL根本不重要。 他们可以在文件头中由链接器设置自定义大小, 但是操作

它们都是作为单独的DLL构建的,具有公开的功能。项目:

  • A包含一个函数foo_A,它调用foo_b(从b)和foo_c(从c)
  • B包含函数foo_B,该函数调用foo_d(从d)和foo_e(从e)
如果我调用函数A.foo_A,堆栈大小是多少?如果我直接打电话给E.foo_E也一样吗

手动启动的线程(使用CreateThread)可以从函数调用的参数中获取自定义大小,主线程的堆栈大小是根据EXE中的信息设置的

您的五个DLL根本不重要。
他们可以在文件头中由链接器设置自定义大小,
但是操作系统不会对它做任何事情

(运行时堆栈大小(在Windows上)是每个线程,而不是每个文件。)