Board logo

标题: 怎样在DOS下重新load command.com程序? [打印本页]

作者: mtiger     时间: 2007-6-13 19:00    标题: 怎样在DOS下重新load command.com程序?

我希望我的程序退出时重新load command.com,不知有什么好方法?
作者: enjoyer     时间: 2007-6-14 21:55
程序正常退出后会将控制权自动返回给COMMAND.com。除非你的程序有异常不能退出。回到DOS提示符状态C:\ 就说明已经回到COMMAND.com下了
作者: defrag     时间: 2007-7-2 22:33
如果不小心改变了command。com,可以通过覆盖法使其复原,就是新分配386k内存再释放即可
作者: netwinxp     时间: 2007-7-25 19:41
  其实COMMAND.COM分为暂驻模块(也就是命令外壳程序)和常驻模块,当你运行.com的程序时,COMMAND会释放全部暂驻模块,把剩下的常规内存交给.com程序,.com程序退出后把控制权交给常驻模块,常驻模块会自动再重新掉入暂驻模块,如果.com程序修改或破坏常驻模块则会造成暂驻模块无法重新掉入,也就变成了死机。
  简单地说,只要你运行一个com文件再退出,能释放的也就全释放了(TSR程序常驻部分挂在内存分配链上修改了可用内存和挂接了中断,不能强行释放,否则会导致内存链断裂、中断程序飞走而死机)。

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