C++程序棧溢出

Windows下C++程序默認的棧空間是2M(VC++2008編譯器默認1M,這個值是可以在編譯器中設置的。

隨手寫了一段棧溢出的代碼: 
#include <iostream> 
using std::cout; 
using std::endl;

int main() 

int  a[1024][256]={0};  //在棧上分配,大小爲1M,運行時棧溢出掛掉! 
return 0; 
}

最簡單的修改方法,聲明動態數組,在堆上面分配。如果對性能過於敏感,可以用內存池。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章