我只是好奇我可以在C程序中使用多少堆栈空间。
但是为了让我知道并创建一些独立于OS的东西,我想知道用户通常可用于他们程序的默认堆栈空间,所以我不会过度分配。
目前我通过以下方式分配了一个大小约为1 MB的char数组:
char item[1000000];
我相信linux可以保留一个大小不超过8 MB的默认堆栈空间。在我的计算机上,我将其设置为20 MB。我不确定Windows中的默认堆栈空间大小。
那么我的问题是,在将程序交给另一台比我更新的计算机之前,我可以在我的程序中保留最高安全堆栈空间量,因为它耗尽了堆栈空间而导致程序崩溃?