默认堆栈大小
Default stack size
如何在 Code::Blocks 中增加筹码量?
我读过 this,它说 VS 中的默认堆栈大小是 1MB。现在就我而言,它与 VS 无关,堆栈大小取决于 OS。在我的 win10 情况下是 1MB。
This 似乎有点过时,如下所示:project->build options->linker settings->other linker options
不再存在。
项目栏下没有构建。
无论如何,我需要增加堆栈大小,以便声明一个巨大的二维字符数组并从缓存中受益。喜欢arr[1000][1000]
。因为它将在连续的内存上,不像 char* arr[100]
将指向包含 1000 个字节的 1000 个不同的内存地址。
我正在使用 Windows 10 mingw 编译器。
默认大小来自 .exe,而不是 OS。
来自MSDN:
The default size for the reserved and initially committed stack memory
is specified in the executable file header.
具体来说,堆栈保留和提交大小在 PE 文件的 IMAGE_OPTIONAL_HEADER
结构中指定。通常可以使用链接器参数将其设置为特定值。使用 MinGW 工具链,您可以尝试将 -Wl,--stack,52428800
之类的东西作为 gcc 参数。此选项可能存在于您正在使用的 IDE 中,只需查找构建 and/or 链接器设置。
这适用于第一个线程,如果您在调用 CreateThread
.
时指定非零值,则其他线程可以覆盖默认值
如何在 Code::Blocks 中增加筹码量?
我读过 this,它说 VS 中的默认堆栈大小是 1MB。现在就我而言,它与 VS 无关,堆栈大小取决于 OS。在我的 win10 情况下是 1MB。
This 似乎有点过时,如下所示:project->build options->linker settings->other linker options
不再存在。
项目栏下没有构建。
无论如何,我需要增加堆栈大小,以便声明一个巨大的二维字符数组并从缓存中受益。喜欢arr[1000][1000]
。因为它将在连续的内存上,不像 char* arr[100]
将指向包含 1000 个字节的 1000 个不同的内存地址。
我正在使用 Windows 10 mingw 编译器。
默认大小来自 .exe,而不是 OS。
来自MSDN:
The default size for the reserved and initially committed stack memory is specified in the executable file header.
具体来说,堆栈保留和提交大小在 PE 文件的 IMAGE_OPTIONAL_HEADER
结构中指定。通常可以使用链接器参数将其设置为特定值。使用 MinGW 工具链,您可以尝试将 -Wl,--stack,52428800
之类的东西作为 gcc 参数。此选项可能存在于您正在使用的 IDE 中,只需查找构建 and/or 链接器设置。
这适用于第一个线程,如果您在调用 CreateThread
.