|
abcc
新手上路

积分 5
发帖 2
注册 2005-10-10
状态 离线
|
|
2005-10-10 20:50 |
|
|
Michael
钻石会员
       
积分 10046
发帖 3039
注册 2002-11-11
状态 离线
|
|
2005-10-10 21:24 |
|
|
abcc
新手上路

积分 5
发帖 2
注册 2005-10-10
状态 离线
|
|
2005-10-10 21:33 |
|
|
Michael
钻石会员
       
积分 10046
发帖 3039
注册 2002-11-11
状态 离线
|
|
2005-10-10 22:00 |
|
|
不得不爱
超级版主
         我爱DOS
积分 5310
发帖 2044
注册 2005-9-26 来自 四川南充
状态 离线
|
|
2005-10-11 11:01 |
|
|
JonePeng
金牌会员
      D◎$ Fαп
积分 4562
发帖 1883
注册 2004-1-19 来自 广东广州
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
外部命令Strings可以方便得到常规内存、EMS、XMS、UMB的容量和剩余容量。这利于DOS下批处理应用。
如果是编程,那就要调用BIOS中断来处理了。
|

----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
|
|
2005-10-11 20:08 |
|
|
killiori
新手上路

积分 15
发帖 15
注册 2005-10-12 来自 湖北襄樊
状态 离线
|
『第 7 楼』:
我来说
使用 LLM 解释/回答一下
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 |
|
|
killiori
新手上路

积分 15
发帖 15
注册 2005-10-12 来自 湖北襄樊
状态 离线
|
『第 8 楼』:
喉喉,忘了一些东西,补充上
使用 LLM 解释/回答一下
你可以查询BORLAND官方网站,上面也有说明(英文)
或者可以查询《C库函数和MFC库类详解》一书
原名《Microsoft c/c++ & Visual c++》作者:程文兵 王一行
北京航空航天大学出版社
1995年5月1版
不知道再版了没有
|
|
2005-10-15 21:13 |
|