避免程序反复驻留内存的简单方法

Author: 王忠江 Date: 1997-01-01

  在一次编写软件的主控程序时,反复进入和退出Foxbase状态,结果导致内存不够,Foxbase+不能启动。通过用MEM命令检查内存中程序的驻留情况时发现,INT.EXE程序反复驻留内存,每次占用2K的内存空间。解决这个问题最简单的方法是:在第二次启动Foxbase+时不执行INT.EXE,直接执行MFOXPLUS.EXE。但是操作者往往都是执行FOX.BAT文件,导致INT.EXE反复驻留内存。通过测试,发现可以使用DOS系统中的环境设置命令SET、条件判断命令IF和转移子命令GOTO,在FOX.BAT中判断INT.EXE程序是否已经驻留,以决定该程序是否执行。程序(FOX.BAT)如下:
  @ECHO OFF
  IF EXIST %T% GOTO END
  SET T=INT.EXE
  INT
  :END
  MFOXPLUS
  用这种方法可以避免任何程序的重复驻留,只需要将SET T=INT.EXE中的INT.EXE改为相应的程序名即可。当然,在选取环境变量时要注意,不要与其它批处理文件中的环境变量同名,也要防止别人写出与之相同的环境变量。如此才可以长期使用下去。