中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-31 18:51
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行
DOS开发编程 & 发展交流 (开发室) » 怎样在DOS下重新load command.com程序?
可打印版本  1,229 / 3
第1楼 mtiger 发表于 2007-06-13 19:00
新手上路 发帖 2 积分 8
怎样在DOS下重新load command.com程序?
我希望我的程序退出时重新load command.com,不知有什么好方法?
第2楼 enjoyer 发表于 2007-06-14 21:55
中级用户 发帖 140 积分 351
程序正常退出后会将控制权自动返回给COMMAND.com。除非你的程序有异常不能退出。回到DOS提示符状态C:\ 就说明已经回到COMMAND.com下了
第3楼 defrag 发表于 2007-07-02 22:33
中级用户 发帖 570 积分 456
如果不小心改变了command。com,可以通过覆盖法使其复原,就是新分配386k内存再释放即可
第4楼 netwinxp 发表于 2007-07-25 19:41
高级用户 发帖 366 积分 741
  其实COMMAND.COM分为暂驻模块(也就是命令外壳程序)和常驻模块,当你运行.com的程序时,COMMAND会释放全部暂驻模块,把剩下的常规内存交给.com程序,.com程序退出后把控制权交给常驻模块,常驻模块会自动再重新掉入暂驻模块,如果.com程序修改或破坏常驻模块则会造成暂驻模块无法重新掉入,也就变成了死机。
  简单地说,只要你运行一个com文件再退出,能释放的也就全释放了(TSR程序常驻部分挂在内存分配链上修改了可用内存和挂接了中断,不能强行释放,否则会导致内存链断裂、中断程序飞走而死机)。

[ Last edited by netwinxp on 2007-7-25 at 08:14 PM ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023