中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 急啊,DOS怎要得到可用内存啊?像mem那样
作者:
标题: 急啊,DOS怎要得到可用内存啊?像mem那样 上一主题 | 下一主题
abcc
新手上路





积分 5
发帖 2
注册 2005-10-10
状态 离线
『楼 主』:  急啊,DOS怎要得到可用内存啊?像mem那样

急啊,DOS怎要得到可用内存啊?像mem那样

2005-10-10 20:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 2 楼』:  

mem



简单就是美
2005-10-10 21:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcc
新手上路





积分 5
发帖 2
注册 2005-10-10
状态 离线
『第 3 楼』:  我是问写程序哦,mem连傻根都知道



2005-10-10 21:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 4 楼』:  

傻根儿还知道写程序需要某种编程语言,上来就问什么怎么写是不对的。呵呵。



简单就是美
2005-10-10 22:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 5 楼』:  

写什么程序哦?



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2005-10-11 11:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 6 楼』:  

外部命令Strings可以方便得到常规内存、EMS、XMS、UMB的容量和剩余容量。这利于DOS下批处理应用。

如果是编程,那就要调用BIOS中断来处理了。



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-10-11 20:08
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
killiori
新手上路





积分 15
发帖 15
注册 2005-10-12
来自 湖北襄樊
状态 离线
『第 7 楼』:  我来说

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);
}
}

2005-10-15 21:07
查看资料  发送邮件  发短消息 网志  OICQ (33340072)  编辑帖子  回复  引用回复
killiori
新手上路





积分 15
发帖 15
注册 2005-10-12
来自 湖北襄樊
状态 离线
『第 8 楼』:  喉喉,忘了一些东西,补充上

你可以查询BORLAND官方网站,上面也有说明(英文)

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

2005-10-15 21:13
查看资料  发送邮件  发短消息 网志  OICQ (33340072)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: