主题:数据段不够用了该怎么办呀?

  共有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   [只看该作者]

唉,好几天了,这个问题始终解决不了。 公司项目受到很大的阻碍,怎么办呀.......

  单帖管理 | 引用 | 回复 回到顶部

返回首页

数据段不够用了该怎么办呀?

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: