中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 14:28
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 怎样在DOS下重新load command.com程序? 查看 1,080 回复 3
楼 主 怎样在DOS下重新load command.com程序? 发表于 2007-06-13 19:00 ·  中国 江苏 苏州 联通
新手上路
积分 8
发帖 2
注册 2007-05-18 12:26
19年会员
UID 88919
性别 男
状态 离线
我希望我的程序退出时重新load command.com,不知有什么好方法?
2 发表于 2007-06-14 21:55 ·  中国 广东 深圳 电信
中级用户
★★
部落守望者
积分 351
发帖 140
注册 2006-06-19 17:11
20年会员
UID 57261
性别 男
状态 离线
程序正常退出后会将控制权自动返回给COMMAND.com。除非你的程序有异常不能退出。回到DOS提示符状态C:\ 就说明已经回到COMMAND.com下了
一切从底层开始
3 发表于 2007-07-02 22:33 ·  中国 山东 济宁 联通
中级用户
★★★
痴迷DOS者
积分 456
发帖 570
注册 2004-10-09 00:00
21年会员
UID 32281
性别 男
状态 离线
如果不小心改变了command。com,可以通过覆盖法使其复原,就是新分配386k内存再释放即可
DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青!uploadImages/20035317345478982.png
4 发表于 2007-07-25 19:41 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
19年会员
UID 94024
性别 男
状态 离线
  其实COMMAND.COM分为暂驻模块(也就是命令外壳程序)和常驻模块,当你运行.com的程序时,COMMAND会释放全部暂驻模块,把剩下的常规内存交给.com程序,.com程序退出后把控制权交给常驻模块,常驻模块会自动再重新掉入暂驻模块,如果.com程序修改或破坏常驻模块则会造成暂驻模块无法重新掉入,也就变成了死机。
  简单地说,只要你运行一个com文件再退出,能释放的也就全释放了(TSR程序常驻部分挂在内存分配链上修改了可用内存和挂接了中断,不能强行释放,否则会导致内存链断裂、中断程序飞走而死机)。

[ Last edited by netwinxp on 2007-7-25 at 08:14 PM ]
论坛跳转: