主题:数据段不够用了该怎么办呀? 共有34311人关注过本帖 |
---|
kmajian |
1楼 |
数据段不够用了该怎么办呀? Post By:2007-5-9 15:40:00 [只看该作者]
在大模式下编译提示说 group DGROUP exceed 64K,用巨模式编译程序能通过编译,但运行不正常,请问该如何解决?
|
|
单帖管理 | 引用 | 回复 |
x10 |
2楼 |
Post By:2007-5-9 17:07:00 [只看该作者]
最好的 办法是把那些大数据块定义成动态分配,如:
char datbuf[8192]; 定义成: char* datbuf; 在应用程序初始化段中加入动态分配: datbuf = new char[8192]; 在应用程序退出的地方释放内存给系统: delete datbuf;    //如果程序不退出,就不执行。 在程序的其他地方还是象使用数组一样使用指针。 |
|
单帖管理 | 引用 | 回复 |
kmajian |
3楼 |
Post By:2007-5-9 17:17:00 [只看该作者]
比较麻烦的,现在我也尽量用动态分配了。 但如果一挂入汉字现实的图形系统就不够了。
|
|
单帖管理 | 引用 | 回复 |
x10 |
4楼 |
Post By:2007-5-9 18:27:00 [只看该作者]
请问你用的是什么模块?
|
|
单帖管理 | 引用 | 回复 |
kmajian |
5楼 |
Post By:2007-5-10 15:15:00 [只看该作者]
NexBox-ii
我改了好多了,但还是不行,惨了。 这编译器怎么那么难用呀? |
|
单帖管理 | 引用 | 回复 |
x10 |
6楼 |
Post By:2007-5-10 15:44:00 [只看该作者]
NetBox-II在高端有960KB的存储空间,使用XMS协议。用于程序可以使用的。在你的应用程序中需要包含XMS.CPP,然后按照XMS.H中定义的API就可以使用了。
|
|
单帖管理 | 引用 | 回复 |
kmajian |
7楼 |
Post By:2007-5-10 15:54:00 [只看该作者]
XMS.cpp XMS.h早就加入了,但是依旧不行。
我现在除了普通的变量全部都改为动态分配了,但是依旧说不够用,真奇怪。 |
|
单帖管理 | 引用 | 回复 |
x10 |
8楼 |
Post By:2007-5-10 22:03:00 [只看该作者]
关于XMS的使用,请参考我们过去发给你的例子以及LCD全汉字显示的例子。
|
|
单帖管理 | 引用 | 回复 |
kmajian |
9楼 |
Post By:2007-5-11 10:07:00 [只看该作者]
我用的都是RTU的里面的例子,只是实现的具体实现上面我做了修改,现在依旧说数据段不够,我应该如何查错呢?(显示程序单独运行一点问题都没有,主程序也是,但两者一起编译问题就来了)
|
|
单帖管理 | 引用 | 回复 |
kmajian |
10楼 |
Post By:2007-5-11 15:02:00 [只看该作者]
唉,好几天了,这个问题始终解决不了。 公司项目受到很大的阻碍,怎么办呀.......
|
|
单帖管理 | 引用 | 回复 |