![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-10-31 18:58 |
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » 急啊,DOS怎要得到可用内存啊?像mem那样 |
| 可打印版本 1,284 / 7 |
| 第1楼 abcc | 发表于 2005-10-10 20:50 |
| 新手上路 发帖 2 积分 5 | |
|
急啊,DOS怎要得到可用内存啊?像mem那样 急啊,DOS怎要得到可用内存啊?像mem那样
|
|
| 第2楼 Michael | 发表于 2005-10-10 21:24 |
| 钻石会员 发帖 3,041 积分 10,056 | |
|
mem
|
|
| 第3楼 abcc | 发表于 2005-10-10 21:33 |
| 新手上路 发帖 2 积分 5 | |
|
我是问写程序哦,mem连傻根都知道 |
|
| 第4楼 Michael | 发表于 2005-10-10 22:00 |
| 钻石会员 发帖 3,041 积分 10,056 | |
|
傻根儿还知道写程序需要某种编程语言,上来就问什么怎么写是不对的。呵呵。
|
|
| 第5楼 不得不爱 | 发表于 2005-10-11 11:01 |
| 超级版主 发帖 2,044 积分 5,310 来自 四川南充 | |
|
写什么程序哦?
|
|
| 第6楼 JonePeng | 发表于 2005-10-11 20:08 |
| 金牌会员 发帖 1,883 积分 4,562 来自 广东广州 | |
|
外部命令Strings可以方便得到常规内存、EMS、XMS、UMB的容量和剩余容量。这利于DOS下批处理应用。
如果是编程,那就要调用BIOS中断来处理了。 |
|
| 第7楼 killiori | 发表于 2005-10-15 21:07 |
| 新手上路 发帖 15 积分 15 来自 湖北襄樊 | |
|
我来说 C本身的标准库提供了一些相关的函数,你可以调用
这里简单说一个,因为你并没右说明具体的情况,所以简单说,如果有需要 可以联系我。 _mamavl函数用来取得在进程堆数据段中可用来做动态存储分配的内存大小(以BYTE为单位)。其返回的数值并不代表相连的内存的字节个数。因此,利用_memavl所返回的值去调用malloc分配所需的内存空间并不一定成功,此时,需要使用_memmax函数,找出连续可以使用的最大值。 需要#include <malloc.h> 原型:size_t_memavl(void); 相关函数:calloc ,_freect,malloc,_memmax,realloc等 给你一个例子: #include <graph.h> #include <stdio.h> #include <malloc.h> void main() { void * mem_ptr; _clearscreen(_GCLEARSCREEN); printf("Maximum memory available %u\n",_memavl()); if(mem_ptr = malloc(sizeof(char) * 2048)){ puts("After allocated 2048 bytes..."); printf("Maximum memory available %u\n,_memavl()); } else{ puts("Allocate memory error!"); return; } free(mem_ptr); } } |
|
| 第8楼 killiori | 发表于 2005-10-15 21:13 |
| 新手上路 发帖 15 积分 15 来自 湖北襄樊 | |
|
喉喉,忘了一些东西,补充上 你可以查询BORLAND官方网站,上面也有说明(英文)
或者可以查询《C库函数和MFC库类详解》一书 原名《Microsoft c/c++ & Visual c++》作者:程文兵 王一行 北京航空航天大学出版社 1995年5月1版 不知道再版了没有 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |