⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extest.c

📁 软件名称: 内存映射程序   软件语言: 简体中文 软件类型: 国产软件 / 免费版 / 系统控制 运行环境: Win9x/NT/2000/XP/ 软件大小: 97KB 软件简介: 内存映射程序,可以
💻 C
字号:
/*
   --- Version 3.3 91-11-26 15:54 ---

   EXTEST.C: EXEC function with memory swap - Test program.

   Public domain software by

        Thomas Wagner
        Ferrari electronic GmbH
        Beusselstrasse 27
        D-1000 Berlin 21
        Germany
*/


#include "compat.h"
#include "exec.h"

/*>e*/
#define ENGLISH 1
/*<*/

#ifdef ENGLISH
int help (void)
{
   puts ("Usage: EXTEST [options]");
   puts ("Options:");
   puts ("     -E    do not use EMS  for swapping");
   puts ("     -X    do not use XMS  for swapping");
   puts ("     -F    do not use File for swapping");
   puts ("     -T    Terminate after EXEC (no swap)");
   puts ("     -N    do Not swap");
   puts ("     -C    do not Copy environment");
   puts ("     -H    Hide swapfile");
   puts ("     -Z    Try XMS first, then EMS");

   return 1;
}
#else
int help (void)
{
   puts ("Benutzung: EXTEST [Optionen]");
   puts ("Optionen:");
   puts ("     -E    bei Auslagern kein EMS benutzen");
   puts ("     -X    bei Auslagern kein XMS benutzen");
   puts ("     -F    bei Auslagern keine Datei benutzen");
   puts ("     -T    Terminieren nach EXEC (keine Auslagerung)");
   puts ("     -N    Nicht Auslagern");
   puts ("     -C    Umgebungsvariablen nicht kopieren");
   puts ("     -H    Auslagerungsdatei 'hidden'");
   puts ("     -Z    Zuerst XMS versuchen, dann EMS");

   return 1;
}
#endif

#ifdef ENGLISH
int spcheck (int cmdbat, int swapping, char *execfn, char *progpars)
{
   if (swapping > 0)
      {
      switch (swap_prep.swapmethod)
         {
         case USE_EMS:
               printf ("Swapping to EMS handle %d\n", swap_prep.handle);
               break;

         case USE_XMS:
               printf ("Swapping to XMS handle %d\n", swap_prep.handle);
               break;

         case USE_FILE:
               printf ("Swapping to File <%s>\n", swap_prep.swapfilename);
               break;
         }
      }
   printf ("Executing %s %s\n\n", execfn, progpars);
   if (cmdbat == 3 && strstr (progpars, "/c") == NULL)
      puts ("Enter EXIT to return to EXTEST");

   return 0;
}
#else
int spcheck (int cmdbat, int swapping, char *execfn, char *progpars)
{
   if (swapping > 0)
      {
      switch (swap_prep.swapmethod)
         {
         case USE_EMS:
               printf ("Auslagerung auf EMS Handle %d\n", swap_prep.handle);
               break;

         case USE_XMS:
               printf ("Auslagerung auf XMS Handle %d\n", swap_prep.handle);
               break;

         case USE_FILE:
               printf ("Auslagerung auf Datei <%s>\n", swap_prep.swapfilename);
               break;
         }
      }
   printf ("Ausf乭ren %s %s\n\n", execfn, progpars);
   if (cmdbat == 3 && strstr (progpars, "/c") == NULL)
      puts ("Geben Sie EXIT ein um zu EXTEST zur乧kzukehren");

   return 0;
}
#endif


int main (int argc, char **argv)
{
   static char fn [255], par [130];
   char *com;
   int i;
   char far *x;
   char far *y;
   int method;
   unsigned needed;
   char **env;
   union REGS regs;

   method = USE_ALL;
   needed = 0xffff;
   env = environ;
   spawn_check = spcheck;

   for (i = 1; i < argc; i++)
      {
      if (argv [i][0] != '-' && argv [i][0] != '/')
         return help ();
      com = &argv [i][1];
      do
         {
         switch (toupper (*com))
            {
            case 'E':   method &= ~USE_EMS; break;
            case 'X':   method &= ~USE_XMS; break;
            case 'F':   method &= ~USE_FILE; break;
            case 'T':   method = 0; break;
            case 'N':   needed = 0; break;
            case 'C':   env = NULL; break;
            case 'H':   method |= HIDE_FILE; break;
            case 'Z':   method |= XMS_FIRST; break;
            case '-':   break;
            case '/':   break;
            default:    return help ();
            }
         com++;
         } while (*com);
      }

   x = (char far *)farmalloc (64L * 1024L);
   y = (char far *)farmalloc (64L * 1024L);

#ifdef ENGLISH
   putenv ("XYZ=This is an environment string for the spawned process");
#else
   putenv ("XYZ=Dies ist eine Umgebungsvariable f乺 den aufgerufenen Proze

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -