VC++中出现stack overflow错误时修改VC++的默认堆栈大小
VC++中,在栈空间上申请存储的结构体或者类对象的数组空间时,如果数组长度过大,造成申请的栈空间超过或者逼近1MB时,程序可以编译通过,但是不能够执行起来。打到调试模式时会弹出如下图所示的栈空间越界错误对话框。 如下面的类定义: class Character { public: Character() { x0 = 0; y0 = 0; x1 = 0; y1 = 0; offsetX = 0; offsetY = 0; } unsigned int x0:10; unsigned int y0:10; unsigned int x1:10; unsigned int y1:10; unsigned int offsetX:8; unsigned int offsetY:8; unsigned int texIndex:8; }; 而FreeTypeFont类中申请了65536个Character 类数组,如下代码: class FreeTypeFont { public: FT_Library _library; FT_Face _face; unsigned _sysFontTexture; Character _character[1<<16]; int _textureWidth; int _textureHeight; //! 临时变量