📄 liesmich.doc
字号:
Eine EXEC Funktion mit Speicherauslagerung
Version 3.3a, Freigegeben 93-06-22
Public Domain Software von
Thomas Wagner
Ferrari electronic GmbH
(Achtung Adress刵derung, siehe unten!)
Dieses Archiv enth刲t die Quellen f乺 eine 'EXEC'-Funktion die den
Aufruf externer Programme erlaubt, wobei der Programmspeicher
optional auf EMS, XMS, oder Datei ausgelagert wird. Bei Auslagerung
des Speichers werden nur noch wenige K des Hauptspeichers belegt
w刪rend das externe Programm ausgef乭rt wird. Der Code/Daten-Bereich
betr刧t etwa 1k, der ben攖igte Speicherplatz ist abh刵gig von der
Speicherfragmentierung, sowie besonders von der Gr斸e des
Umgebungsvariablenblocks. 歜licherweise werden zwischen 2K und 7K
belegt.
Die Routinen sind kompatibel mit
Turbo C (Versionen 1.x, 2.x, sowie C++ 1.0)
Borland C++ (Version 2.0 und h攈er),
Microsoft C (Versionen 5.1 und h攈er),
Watcom C (Version 8.0),
Turbo Pascal (Versionen 4.x bis 6.x).
EMS (LIM 3.0 und sp則ere Versionen) oder XMS werden benutzt sofern
ausreichend Platz zur Verf乬ung steht. Wenn nicht, wird eine
tempor剅e Plattendatei angelegt. Diese Datei wird in dem durch die
Umgebungsvariablen TEMP= oder TMP= gegebenen Pfad angelegt. Ist kein
solcher Pfad angegeben, wird der aktuelle Pfad benutzt.
Aufruf und Parameterversorgung sind in der Datei "exec.h" (C) bzw.
"exec.pas" (Pascal) detailliert dokumentiert.
Das allgemeine Format ist
retcode = do_exec (Name des auszuf乭renden Programms,
Programm-Parameter und Redirection String,
Spawn-Optionen,
Ben攖igter Speicher (0xffff lagert stets aus, 0 nie),
Umgebungsvariablen-Zeiger/Flag)
zum Beispiel:
rc = do_exec ("cl", "-c -Od exec.c >&errout", USE_ALL, 0xffff, NULL);
oder, f乺 Pascal:
rc := do_exec ('tpc', '/$D+ exec >&errout', USE_ALL, $ffff, false);
Redirection f乺 Standard Input, Standard Output, und Standard Error
wird optional behandelt indem der Parameter-String nach den folgenden
Kombinationen durchsucht wird:
stdin: <file
stdout: >file oder >>file zum Anf乬en
stderr: >&file oder >&>file zum Anf乬en
Redirection wird standardm勧ig unterst乼zt. Um sie auszuschalten,
m乻sen Sie die Definitionen sowohl in spawn.asm als auch in
exec.c/exec.pas 刵dern.
Wenn das auszuf乭rende Kommando eine Batch-Datei ist, wird
automatisch der Kommando-Prozessor aufgerufen. Der Kommandoprozessor
wird auch aufgerufen wenn das Kommando leer ist. Dabei wird die
COMSPEC-Umgebungsvariable benutzt um den Kommandoprozessor zu finden,
zus則zliche Parameter in der COMSPEC-Zeile werden in die
Kommandoparameter eingef乬t.
Zum Beispiel:
Es sei COMSPEC=C:\DOS\COMMAND.COM /E:960
PATH=C:\DOS;C:\CMD
Datei B.BAT existiert in C:\CMD
do_exec wird aufgerufen mit ('b', 'eins zwei >out', ...)
Dann ist das aufgerufene Kommando
C:\DOS\COMMAND.COM
mit dem Parameter-String
/E:720 /C C:\CMD\B.BAT eins zwei
und Standard Output wird umgeleitet auf die Datei 'out'.
INHALT
======
Dieses Archiv enth刲t die folgenden Dateien:
LIESMICH.DOC Diese Datei
README.DOC Englische Version dieser Datei
GETLANG.EXE Ein Hilfsprogramm zur Extraktion einer ein-
sprachigen Version aus der zweisprachigen
Quelle.
Alle C- und Assembler-Quellen (die Pascal-Quellen
leider nur teilweise) sind sowohl in Deutsch als
auch in Englisch dokumentiert, was die Quellen
schwer lesbar macht. F乺 bessere Lesbarkeit
k攏nen Sie mit GETLANG eine der Sprachen
eliminieren.
Benutzung: GETLANG Sprache Compiler <Eingabe >Ausgabe
wobei Sprache 'E' f乺 Englisch oder 'D' f乺 Deutsch
Compiler 'C' f乺 C Dateien, 'A' f乺 Assembler,
'P' f乺 Pascal.
Beispiele: GETLANG d a <spawn.asm >spawnd.asm
GETLANG d c <extest.c >extestd.c
DEUTSCH.BAT Batch-File zur Ausf乭rung von GETLANG f乺 alle
Quelldateien, deutsche Version
ENGLISH.BAT Batch-File zur Ausf乭rung von GETLANG f乺 alle
Quelldateien, englische Version
SPAWN.ASM Die Hauptfunktion f乺 exec.
Diese Datei ist f乺 die C und Pascal Versionen gleich.
F乺 Benutzung mit Turbo Pascal mu
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -