中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 怎样在DOS下重新load command.com程序?
作者:
标题: 怎样在DOS下重新load command.com程序? 上一主题 | 下一主题
mtiger
新手上路





积分 8
发帖 2
注册 2007-5-18
状态 离线
『楼 主』:  怎样在DOS下重新load command.com程序?

我希望我的程序退出时重新load command.com,不知有什么好方法?

2007-6-13 19:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
enjoyer
中级用户

部落守望者


积分 351
发帖 140
注册 2006-6-19
状态 离线
『第 2 楼』:  

程序正常退出后会将控制权自动返回给COMMAND.com。除非你的程序有异常不能退出。回到DOS提示符状态C:\ 就说明已经回到COMMAND.com下了



一切从底层开始
2007-6-14 21:55
查看资料  发送邮件  发短消息 网志  OICQ (363852426)  编辑帖子  回复  引用回复
defrag
中级用户

痴迷DOS者


积分 456
发帖 570
注册 2004-10-9
状态 离线
『第 3 楼』:  

如果不小心改变了command。com,可以通过覆盖法使其复原,就是新分配386k内存再释放即可



DOS不是万能的,没有DOS是万万不能的
自古系统谁无死?留取胆清照汗青![upload=bmp]uploadImages/20035317345478982.png[/upload]
2007-7-2 22:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netwinxp
高级用户





积分 741
发帖 366
注册 2007-7-25
状态 离线
『第 4 楼』:  

  其实COMMAND.COM分为暂驻模块(也就是命令外壳程序)和常驻模块,当你运行.com的程序时,COMMAND会释放全部暂驻模块,把剩下的常规内存交给.com程序,.com程序退出后把控制权交给常驻模块,常驻模块会自动再重新掉入暂驻模块,如果.com程序修改或破坏常驻模块则会造成暂驻模块无法重新掉入,也就变成了死机。
  简单地说,只要你运行一个com文件再退出,能释放的也就全释放了(TSR程序常驻部分挂在内存分配链上修改了可用内存和挂接了中断,不能强行释放,否则会导致内存链断裂、中断程序飞走而死机)。

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

2007-7-25 19:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: