| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1832 人关注过本帖
标题:[求助]大哥大姐们,本人经过快一个月的思考,还是...
取消只看楼主 加入收藏
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
结帖率:100%
收藏
 问题点数:0 回复次数:5 
[求助]大哥大姐们,本人经过快一个月的思考,还是...

本人几个月前就遇到过的问题.现在到了非要解决不可的地步.
去年,年未的时侯就开始编一个文本编辑器,用TC2.0作编译器.
开头以为这样的程序很简单,但在编写的过程中,出现了一些让我感到要放弃的问题.
第一个大问题就是,当我编写到大约5000行左右,就发现TC2.0也编译不了,总是说out of memory...
因为一个文件长度大约只能是64KB,我就把文件大的分散到几个文件,然后用#include""把它们包含起来,
这个时侯就不出现这样的问题了.
不过多久,当我代码编写到8000左右的时侯,又出现了这样的问题,
我又把文件大的分散到几个文件,这样做了.结果不顶用,我就郁闷了.为什么会出现这样的问题.
为了找到原因,我又把TC2.0的菜单功能全部用金山词霸翻译出来.结果发现,就是编译的模块大的原因.
我就把编译模块改成巨大的.这个时侯,out of memory...不出现了.
但是,好景不长,当我把代码编写到10000行左右,
又出现了这样的问题.这个时侯,我蒙了.怎么又出现这样的问题.我把前面的所能做的方法全部把试了.有时有用,
但再多编写几十行的代码编译一下,又出现了out of memory... .我跑到图书馆里,希望能找到一点资料,翻了许多书.
结果还是不能解决问题,回寝室在网上找,也没有找.吃饭的时侯在想,走路的时侯也在想,上课时不时地也在想.
睡觉的时侯,当然是想问题就好的时侯(每当我遇到不解的地方,常常会去睡觉,睡觉前思考遇到的问题,有时会突发奇想找到解决问题的方法.在此,我建议,当坐在电脑前想不出问题,换个地方想问题可能会突发奇想.).躺在床上想,有时想到天亮,还是想不出来.
要知道我这个人是不轻意去问别人的.除非实在没办法想不出来.我这个人有一个习惯,来判断这个问题我不能解决.那就是时间来横量,就是至少我想这个问题的时间跨度不少于15天.
但那个out of memory...的问题想了几个星期,还是想不出.发到论坛上,还是没有人愿分享.
结果,我就跑到学院里,找到大一教我C语言的老师那里,问个明白.向他说明情况后,他给了我一些建议.
其中最重要的就是:链接. 我突然明白了.我的问题所在.我谢过老师之后,立刻跑回寝室,生怕忘了我的解决方法:
因为我的程序是用#include""把全部文件串到一起编译成一个模块.这样会造成模块很大而导致编译器无法编译.
我就这么想能不能不把全部文件编译成一个模块而是几个模块.这时,我就想到了TC2.O的工程菜单.然后,我就把一些文件编译成独立的模块,再通过LINK把独立的模块LINK起来.成功了.


这是我编写这个程序遇到的第一大个问题,之前和之后还遇到了不少的问题,都被我一一解决了.

大约过了一二个月的时侯.就是程序全面功能完善的时侯,让我感到措手不及的是程序申请不到空间.


这也是我编写这个程序遇到的第二个大问题:
在Complie中的Get info可以得知可用存储器空间是265KB.而我的可执行文件的大小就是190KB再加上十多个文件产生的页面碎片.还加上5KB左右的全局变量.如果文本编辑器要写出200行的字符,还需要100KB的存储器空间,还后来的加入了汉字显示的功能,一个HZK16的汉字库大小261KB,要打开这个汉字库就需要再加上261KB的存储器空间.
总的加起来大约要用的存储器空间:470KB(而且只能写一百行的字符),但TC2.0的存储器空间只有265KB.


这个问题我快想了一个月.还没想到解决之道.希望各位大哥大姐们能给一些建议.
本人不甚感激.

[此贴子已经被作者于2007-6-13 1:39:50编辑过]

搜索更多相关主题的帖子: 大姐 思考 
2007-06-13 01:35
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
谢谢楼上,你是我的大恩人啊.
我会照你说的去做的.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-06-13 17:13
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
回复:(Knocker)首先,纠正你一个错误认识,TC是 16 位...
谢谢你的内存扩展的例子.
我会认真看研究你的算法的.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-06-13 17:15
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
这个程序我做了大约快半年了.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-06-13 18:04
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
以下是引用yangzhifu在2007-6-13 18:30:55的发言:
vc不知道可不可以,为什么不在上面编译啊,你可以先保存,再在vc上面运行,try try

主要是图形函数兼容.做到这个份上了,只能继续.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-06-13 21:33
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

可以说功能非常强大.


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-06-14 16:01
快速回复:[求助]大哥大姐们,本人经过快一个月的思考,还是...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.114806 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved