|
|
1
2
默认情况下,使用Microsoft编译器在Microsoft Windows上构建的程序的默认最大堆栈大小约为1MB。 宣言
如果将堆栈声明为自动变量,则在堆栈上分配2MB。这就是为什么在你的情况下堆栈会溢出。 如果将数组声明为全局变量,则不会在堆栈上分配它,因此不会出现问题。 堆栈空间非常有限,尤其是在Microsoft Windows上(Linux的默认堆栈大小约为8 MB)。因此,除非您确切知道自己在做什么,否则通常不应该在上面分配超过几千字节的数据。
对于分配如此大量的数据,通常最好使用动态内存分配,例如
|
|
AstralHex · 矩阵乘法代码工作不正常 8 月前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 8 月前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 8 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 8 月前 |