首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

几行VC程序,编译没有关问题,一运行就崩溃,为什么

2012-04-16 
几行VC程序,编译没问题,一运行就崩溃,为什么?VC2010编译一个小程序C/C++ code#define N 1000000void main(

几行VC程序,编译没问题,一运行就崩溃,为什么?
VC2010编译一个小程序

C/C++ code
#define N 1000000void main(){   int nRand[N];//不能太大,否则栈溢出? 为何编译时不报错误?}

在win7上面,一运行就崩溃。
为什么?

[解决办法]
语法上不错就不会报错,它可不会去考虑你堆栈是否溢出了。
[解决办法]
扩大栈空间的大小

方法为(VC6):项目->属性->链接器->系统->堆栈保留大小


[解决办法]
就好比数组溢出,编译的时候无错误,运行就可能崩溃~
[解决办法]
编译只做语法检查
语法没错误当然就不报错
[解决办法]
探讨
我并没有读写的溢出操作,只是定义了而已。
为什么会导致崩溃? 这块内存既没有被读也没有被写。

堆栈前后也没有破坏

[解决办法]
堆栈溢出

可以改为申请全局、静态或者动态数组,就不会报错了
http://hi.baidu.com/cfans/blog/item/d3842838d8a7602cb9998f49.html

热点排行