TC2.0下面的编译是出现out of memory,如何解决

yangzhenliang 2004-07-24 03:26:39
现象如题:现在我把option->compile->huge也不行,
我不想换成TC3.0,是windows下面的MS_DOS来运行TC2,我的工程加起来代码,可能有300K,如何解决呢
...全文
398 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangzhenliang 2004-07-31
  • 打赏
  • 举报
回复
再出现一个问题,是在window 98下面编译说“out of memry” ,但是到了window 2000下确没有说“out of memry”,
在window 98下面编译,如果多include”ExData.h“的文件时候出“out of memry”,如果不include不出错,
但是我单独做了一个测试include”ExData.h“的文件时,确不会报错,
 谁帮我解决一下呀,
分不够,可以另加
yangzhenliang 2004-07-25
  • 打赏
  • 举报
回复
我现在又发现,我include的文件超过一定的大小,他就报出out of memry了
ckc 2004-07-25
  • 打赏
  • 举报
回复
你不要用tc来编译,直接用tcc来编译,这样会节约不少内存

在你的dos窗口下用mem检查,注意配置你的config.sys和autoexec.bat
使得常规内容尽可能的大,要有ems内存,我记得tc2好象可以自动使用64k的ems

想办法把你的大文件拆成若干个小文件,用工程来编译,这样是最好的办法

PS。tc2下的工程头文件有200K,真是NB啊
yangzhenliang 2004-07-25
  • 打赏
  • 举报
回复
现在我又发现
,在我的工程中,我调用“EXDATA。H”就出现这种情况,我另起一个工程,来调用“EXDATA。H”,就又不会出错,我原来的工程头文件有200K,而“EXDATA。H”有30K,
怎么回事,我都不清楚 了,难调呀
yangzhenliang 2004-07-25
  • 打赏
  • 举报
回复
数据维度肯定是不知道的,而且我觉的500*12也是比较大的吧这个是算最大
antijpn 2004-07-25
  • 打赏
  • 举报
回复
malloc就是用来动态分配的,如果数据维度知道了,并且不大的话,直接用内置数组就可以了
yangzhenliang 2004-07-25
  • 打赏
  • 举报
回复
还有一个现象是不是
if((EXdata=farmalloc(Flw.Width*12))==NULL)
这个语句引起的Flw.Width为500
if((EXdata=farmalloc(500*12))==NULL)
会不会出现这种情况
ttlb 2004-07-25
  • 打赏
  • 举报
回复
up
antijpn 2004-07-24
  • 打赏
  • 举报
回复
理论上TC的程序升级还是比较简单的,看你的样子似乎还应该是TC2.0吧?这样的话更好办,那个时候的Borland还没有那些VCL什么的Framework,所以升级的时候只要分别编译各个文件,最后把产生的obj文件链接起来就可以了

改用cl的话比较好,产生的文件小,而且编译时间、运行时间似乎都比Borland的少
tuxw 2004-07-24
  • 打赏
  • 举报
回复
将代码分成多个 .C 文件,用 project 来管理,再编译即可
freefalcon 2004-07-24
  • 打赏
  • 举报
回复
换编译器,工作量太大了

——不大不大,安装后,拷贝工程所用的文件,然后该怎么做就怎么做
alan001 2004-07-24
  • 打赏
  • 举报
回复
.Option->OBJ 信息 OFF
.现在你的代码段是统一的,最好每个文件有独立的代码段,数据段名字(HUGE模式)
柯本 2004-07-24
  • 打赏
  • 举报
回复
如果你在纯DOS下可以的话,可这样试试
在你的config.sys中加
device=c:\windows\himem.sys
device=c:\windows\emm386.exe ram
dos=high,umb
它可以为你98的dos多出一些基本内存,也许你的程序可以编译通过

另外换编译器不会有什么工作量,只要安装一个tc就可,程序不用作任何修改

yangzhenliang 2004-07-24
  • 打赏
  • 举报
回复
我看过,只能换编译器嘛,
换编译器,工作量太大了,还有别的办法嘛要,还有一个就是我在DOS6.0下编译竟然不出现这个问题,当我回到window下面的MS_DOS又会出现这个问题???
柯本 2004-07-24
  • 打赏
  • 举报
回复
刚回过一个:
http://community.csdn.net/Expert/topic/3165/3165024.xml?temp=.8150904

70,037

社区成员

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

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