急!BC3.1下的错误,Too Much globle data defined in file

phder 2007-08-22 09:38:37
文件长度:4000多行
定义全局变量:12KByte
其中有一子程序500多行,里边主要是SWITCH 语句
switch(mainIndex)
{
case 1:
switch(editIndex)
{
case 1:
printf("asdadsad");
...
break;
...
default:
break;
}
break;
case 2:
...
break;
....
}
编译出现“Too much globale data defined in file”错误消失,
把内层switch的部分case注释掉,怀疑不是由于全局变量太多引起的。
请诸位帮忙,急!
...全文
405 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
phder 2007-08-23
  • 打赏
  • 举报
回复
TC 3.0和BC 3.1 一样的问题
goodluckyxl 2007-08-23
  • 打赏
  • 举报
回复
tc
phder 2007-08-23
  • 打赏
  • 举报
回复
12K 是所有全局变量的
关键是我删除部分代码后,编译就通过了;

这是在dos下做的一个嵌入式系统,dev c++用不上

在dos下还有什么好的编译器,推荐一下,实在不行改编译器
goodluckyxl 2007-08-23
  • 打赏
  • 举报
回复
12K不多啊 可以只是定义这么大数据
不要程序部分编译一下看是否会报错
确认是由于分配过大引起的
否则还是程序导致的
星羽 2007-08-23
  • 打赏
  • 举报
回复


可以的话,换个编译器看看,比如dev c++
phder 2007-08-23
  • 打赏
  • 举报
回复
"文件中定义的全程数据太多。全程数据声明的总数超过了64k字节。 "

全局变量12K《 64K, 另外 我 缩小 数组的大小仍然提示错误,只有删除部分代码才行。

“你的程序结构设计有问题,一个函数都500多行”
这个函数是处理上下、加减等按键 的 ,不好 分
星羽 2007-08-22
  • 打赏
  • 举报
回复
文件中定义的全程数据太多。全程数据声明的总数超过了64k字节。

gfxiang 2007-08-22
  • 打赏
  • 举报
回复
你的程序结构设计有问题,一个函数都500多行
你应该把这个函数再细分成几个子功能,分别用其他函数实现,再调用它。
一般一个函数最好控制在100行以内,一方面便于维护,另一方面可读性也会好些。
phder 2007-08-22
  • 打赏
  • 举报
回复
编译出现“Too much globale data defined in file”,
把内层switch的部分case注释掉,错误消失。怀疑不是由于全局变量太多引起的。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧