中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-01 13:24
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 急啊,DOS怎要得到可用内存啊?像mem那样 查看 1,174 回复 7
楼 主 急啊,DOS怎要得到可用内存啊?像mem那样 发表于 2005-10-10 20:50 ·  中国 广东 深圳 电信
新手上路
积分 5
发帖 2
注册 2005-10-10 17:03
20年会员
UID 43324
状态 离线
急啊,DOS怎要得到可用内存啊?像mem那样
2 发表于 2005-10-10 21:24 ·  中国 山东 济南 移动
钻石会员
★★★★★
积分 10,051
发帖 3,040
注册 2002-11-11 00:00
23年会员
UID 223
性别 男
状态 离线
mem
简单就是美
3 我是问写程序哦,mem连傻根都知道 发表于 2005-10-10 21:33 ·  中国 广东 深圳 电信
新手上路
积分 5
发帖 2
注册 2005-10-10 17:03
20年会员
UID 43324
状态 离线
4 发表于 2005-10-10 22:00 ·  中国 山东 济南 移动
钻石会员
★★★★★
积分 10,051
发帖 3,040
注册 2002-11-11 00:00
23年会员
UID 223
性别 男
状态 离线
傻根儿还知道写程序需要某种编程语言,上来就问什么怎么写是不对的。呵呵。
简单就是美
5 发表于 2005-10-11 11:01 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
6 发表于 2005-10-11 20:08 ·  中国 广东 广州 海珠区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
外部命令Strings可以方便得到常规内存、EMS、XMS、UMB的容量和剩余容量。这利于DOS下批处理应用。

如果是编程,那就要调用BIOS中断来处理了。
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
7 我来说 发表于 2005-10-15 21:07 ·  中国 湖北 襄阳 联通
新手上路
积分 15
发帖 15
注册 2005-10-12 18:00
20年会员
UID 43406
性别 男
来自 湖北襄樊
状态 离线
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 喉喉,忘了一些东西,补充上 发表于 2005-10-15 21:13 ·  中国 湖北 襄阳 联通
新手上路
积分 15
发帖 15
注册 2005-10-12 18:00
20年会员
UID 43406
性别 男
来自 湖北襄樊
状态 离线
你可以查询BORLAND官方网站,上面也有说明(英文)

或者可以查询《C库函数和MFC库类详解》一书
原名《Microsoft c/c++ & Visual c++》作者:程文兵 王一行 
北京航空航天大学出版社
1995年5月1版
不知道再版了没有
论坛跳转: