游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4743|回复: 9

救命啊,编译错误,定长或静态数据不能大于64K

[复制链接]

7

主题

109

帖子

169

积分

注册会员

Rank: 2

积分
169
发表于 2007-7-17 22:00:00 | 显示全部楼层 |阅读模式
编译错误,定长或静态数据不能大于64K

天哪,我的游戏刚有点眉目,就出了这样的事, [em6] [em6]
我只不过在声明里定义了两个自定义类型变量, [em4] [em4]
这可让我怎么活啊

各位救救我吧

15

主题

202

帖子

207

积分

中级会员

Rank: 3Rank: 3

积分
207
QQ
发表于 2007-7-18 08:22:00 | 显示全部楼层

Re:救命啊,编译错误,定长或静态数据不能大于64K

静态数据大于64K...........
你不会把所有数据内嵌吧.....

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2007-7-18 08:33:00 | 显示全部楼层

Re:救命啊,编译错误,定长或静态数据不能大于64K

贴出定义代码

15

主题

2093

帖子

2093

积分

金牌会员

Rank: 6Rank: 6

积分
2093
发表于 2007-7-18 09:14:00 | 显示全部楼层

Re: 救命啊,编译错误,定长或静态数据不能大于64K

定长改变长……

7

主题

109

帖子

169

积分

注册会员

Rank: 2

积分
169
 楼主| 发表于 2007-7-18 10:17:00 | 显示全部楼层

Re: 救命啊,编译错误,定长或静态数据不能大于64K

Mao!,什么叫“数据内嵌”啊?麻烦你扫扫盲 [em10] [em10]

定义的代码就是这样的:
Option Explicit
Const WinScale = 1
Const PicMax = 400
Const DzMax = 80
Const WpMax = 5
Const XgMax = 20
Const ZhengShu = 20
Const WHeight = 480
Const Wwidth = 640
Const Jump = 10
Dim xi As New xInput

Dim ProjectData As CharacterFileData

Dim PlayM As PlayAssignment

Dim Play1 As JCharacter
Dim PlayInput1 As CZ
Dim play2 As JCharacter
最后一行是新加的,就出现了这个错误。 [em4] [em4]

写这个游戏,我用了八个月的时间,现在连死的心都有了。 [em6] [em6]

9

主题

688

帖子

688

积分

高级会员

Rank: 4

积分
688
发表于 2007-7-18 11:13:00 | 显示全部楼层

Re:救命啊,编译错误,定长或静态数据不能大于64K

JCharacter的一个对象大于64K?

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2007-7-18 12:38:00 | 显示全部楼层

Re:救命啊,编译错误,定长或静态数据不能大于64K

那就用“变长或动态数据”.......

26

主题

537

帖子

537

积分

高级会员

Rank: 4

积分
537
发表于 2007-7-18 13:14:00 | 显示全部楼层

Re:救命啊,编译错误,定长或静态数据不能大于64K

除了一堆静态变量,其它的我咋就没看明白呢?
CharacterFileData、PlayAssignment、JCharacter
这都是什么对象?你自定义的Type结构呢?

7

主题

109

帖子

169

积分

注册会员

Rank: 2

积分
169
 楼主| 发表于 2007-7-18 18:58:00 | 显示全部楼层

Re:救命啊,编译错误,定长或静态数据不能大于64K

问题已解决,还真让团长说对了,定义成动态数组就行了。
定义代码如下:
声明:
Dim Play() As JCharacter
Dim PlayInput() As CZ
初始化:
ReDim Play(4) As JCharacter
ReDim PlayInput(4) As CZ

一个JCharacter占用 57624b内存,
在声明里定义两个就会出现“编译错误……”
放在过程里又会“局部,非静态变量太多”
不知道windows程序会有这种限制。


总算解决了,感谢各位的热情帮助。

187

主题

6490

帖子

6491

积分

论坛元老

团长

Rank: 8Rank: 8

积分
6491
发表于 2007-7-18 19:26:00 | 显示全部楼层

Re:救命啊,编译错误,定长或静态数据不能大于64K

和Preserve(好像叫这个)搭配可以在改变时不破坏以前的数据。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 19:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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