游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3570|回复: 11

为何在VC6中声明一个比较大的数组会出现运行时非法操作

[复制链接]

12

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2006-8-29 23:15:00 | 显示全部楼层 |阅读模式
为何在VC6中声明一个比较大的数组会出现运行时非法操作?

比如声明一个 int  arr[1 200 000];
编译通过,运行时就非法操作,为什么?该如何解决啊

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
发表于 2006-8-29 23:42:00 | 显示全部楼层

Re:为何在VC6中声明一个比较大的数组会出现运行时非法操作

难道是数字里那两个空格的问题…………?

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2006-8-30 00:07:00 | 显示全部楼层

Re:为何在VC6中声明一个比较大的数组会出现运行时非法操作

晕死。 这样的数组申明在堆栈上要是不挂才不正常呢

149

主题

4981

帖子

5033

积分

论坛元老

Rank: 8Rank: 8

积分
5033
QQ
发表于 2006-8-30 02:04:00 | 显示全部楼层

Re:为何在VC6中声明一个比较大的数组会出现运行时非法操作

堆栈上的变量尺寸有限制?

54

主题

2916

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2006-8-30 08:28:00 | 显示全部楼层

Re:为何在VC6中声明一个比较大的数组会出现运行时非法操作

加一个“far”试试、、、

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2006-8-30 09:11:00 | 显示全部楼层

Re:为何在VC6中声明一个比较大的数组会出现运行时非法操作

堆栈默认1M好象。。。

50

主题

244

帖子

319

积分

中级会员

Rank: 3Rank: 3

积分
319
QQ
发表于 2006-8-30 10:42:00 | 显示全部楼层

Re:为何在VC6中声明一个比较大的数组会出现运行时非法操作

为何不用NEW来申请空间?

10

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2006-8-30 11:20:00 | 显示全部楼层

Re:为何在VC6中声明一个比较大的数组会出现运行时非法操作

还好了,上次在VB6里面的一个类似于flood fill的算法写得太随意了都挂了。

0

主题

202

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2006-8-30 21:57:00 | 显示全部楼层

Re:为何在VC6中声明一个比较大的数组会出现运行时非法操作

最好不要在stack上申请如此大的空间!

7

主题

67

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2006-8-31 07:19:00 | 显示全部楼层

Re:为何在VC6中声明一个比较大的数组会出现运行时非法操作

晕死,这么大的内存,在栈上时申请不到的,这样做会引起栈溢出。
只能在堆上申请。

这不是什么VC6的问题,任何编译器都不会让你这么干的。
建议你去仔细看看C/C++的基础教程。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 05:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表