例如,在OSX上,它甚至不到512k。
有没有建议的大小,请记住,该应用程序不使用递归并且不分配很多堆栈变量?
我知道这个问题太广泛了,它很大程度上取决于用法,但是我仍然想问,因为我想知道这背后是否存在一些隐藏的/内部的/系统的原因。
我想知道,因为我打算在我的应用程序中将堆栈大小更改为512 KiB-听起来仍然很大,但它比8MiB小得多-并会导致进程的虚拟内存显着减少,因为我有很多线程(I / O)。
我也知道这并没有真正的伤害,请在此处进行详细说明:pthreads的默认堆栈大小
您使用的是32位CPU吗?X86_64 CPU提供了高达128 TB的虚拟地址空间(在用户空间中),足以容纳8 MB的堆栈。
—
约翰·迈伦(JohanMyréen)
@JohanMyréen-不,x64。这没什么大不了的,我只是想知道,目前没有真正的理由这样做。
—
基里尔·基洛夫'18
在2019和8 MiB中有很多内存吗?我不这么认为。具有较大的默认堆栈大小使得使用递归编写程序非常容易。我很惊讶地知道Windows上的默认堆栈大小仅为1MiB!
—
oldherl