![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 05:00 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » TC下如何释放Buffer所占空间 |
| 可打印版本 1,066 / 6 |
| 第1楼 sunny1979 | 发表于 2003-11-13 00:00 |
| 初级用户 发帖 86 积分 376 | |
|
TC下如何释放Buffer所占空间 TC下如何释放Buffer所占空间,以便加载更多图片,请高手指点!
|
|
| 第2楼 Loff | 发表于 2003-11-14 00:00 |
| 中级用户 发帖 59 积分 286 | |
|
不太懂你的意思,如果你是用malloc,alloc等函数分配的空间,用free函数来释放,这样buffer所占空间就没有了,也无法使用buffer了,得重新分配;如果你是要使用原buffer的空间,直接用就行了,新内容会把原来的内容覆盖掉。
|
|
| 第3楼 sunny1979 | 发表于 2003-11-18 00:00 |
| 初级用户 发帖 86 积分 376 | |
|
二楼 的先生:我是用malloc,alloc等函数分配的空间,但无法用free释放所占空间;要使用原buffer的空间,显示另一幅图片,就会出现死机。原程序见我的主页:http://sunny1979.icpcn.com中我的资源,图片显示程序。麻烦您看一下是怎么回是!先谢了!
|
|
| 第4楼 Loff | 发表于 2003-11-18 00:00 |
| 中级用户 发帖 59 积分 286 | |
|
你的主页中“我的资源”里没有“图片显示程序”,倒是“我的作品”栏里有个“TC加载16色BMP文件”
的程序,不知道是不是你说的那个。编译时没有错误,也出现了你所说的死机现象。看到你源代码里main函数末尾部分有这样一行: if((buffer=malloc(ff->ff_fsize))==NULL)exit(0); 我把其中的malloc改为了farmalloc,问题似乎就解决了(试了好多次都没有死机)你可以改改试试,看行不行,我猜想大概是用malloc容易得到dos系统区的空间,造成dos系统崩溃,用farmalloc就强一些。 |
|
| 第5楼 sunny1979 | 发表于 2003-11-20 00:00 |
| 初级用户 发帖 86 积分 376 | |
|
我把其中的malloc改为了farmalloc,结果死机了!不改还可以运行,可能设置不一样吧!只能加载这一幅图,再加载就肯定死机!你能再加载一幅图吗?
|
|
| 第6楼 Loff | 发表于 2003-11-20 00:00 |
| 中级用户 发帖 59 积分 286 | |
|
把编译模式改为large或huge试试。我用的是huge
|
|
| 第7楼 sunny1979 | 发表于 2003-11-20 00:00 |
| 初级用户 发帖 86 积分 376 | |
|
为什么只能加载一幅呢?
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |