几行VC程序,编译没问题,一运行就崩溃,为什么?
VC2010编译一个小程序
- C/C++ code
#define N 1000000void main(){ int nRand[N];//不能太大,否则栈溢出? 为何编译时不报错误?}在win7上面,一运行就崩溃。
为什么?
[解决办法]
语法上不错就不会报错,它可不会去考虑你堆栈是否溢出了。
[解决办法]
扩大栈空间的大小
方法为(VC6):项目->属性->链接器->系统->堆栈保留大小
[解决办法]
就好比数组溢出,编译的时候无错误,运行就可能崩溃~
[解决办法]
编译只做语法检查
语法没错误当然就不报错
[解决办法]
[解决办法]
堆栈溢出
可以改为申请全局、静态或者动态数组,就不会报错了
http://hi.baidu.com/cfans/blog/item/d3842838d8a7602cb9998f49.html