home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / CS46.ZIP / GERMAN.DOC < prev    next >
Text File  |  1990-07-17  |  18KB  |  474 lines

  1. CS 4.6 - Compiler Shell - (c) Kai Uwe Rommel - Mar 27 1990
  2.  
  3.  
  4. 1. Einleitung
  5. -------------
  6.  
  7. CS ist ein Steuerprogramm für den Microsoft Macro Assembler (ab 5.00),
  8. den C Compiler (ab 5.00), Pascal Compiler (ab 4.00), FORTRAN Compiler
  9. (ab 4.0), den Windows Resource Compiler (ab 2.00) und den Presentation
  10. Manager Resource Compiler sowie die Dienstprogramme LINK (ab 5.00), ILINK
  11. BIND, EXE2BIN, CVPACK, LIB (ab 3.08) und CREF.
  12.  
  13. CS nimmt dem Benutzer die Eingabe ständig benutzter Optionen und
  14. Kommandos ab, sucht selbständig Dateien in festgelegten Verzeichnissen
  15. und führt Compilerläufe nach einer "MAKE"-Strategie durch.
  16.  
  17. CS ist eine Family-Application und läuft sowohl unter DOS als auch
  18. unter OS/2 (Real und Protected Mode).
  19.  
  20. Es können folgende Ausgabedateien erzeugt werden:
  21.  
  22. a) Real Mode Programme
  23.    - DOS EXE-Format
  24.    - DOS COM-Format
  25.    - DOS Windows EXE-Format (auch DLL's)
  26.  
  27. b) Protected Mode Programme
  28.    - OS/2 EXE-Format (auch DLL's und Presentation Manager)
  29.    - Bound EXE-Format (Family-Applications für OS/2 und DOS bzw. DOS box)
  30.    (Das Erzeugen von Presentation-Manager-Programmen unterscheidet sich von
  31.    Standard-OS/2-Programmen nur durch Verwendung einer anderen Import-Library,
  32.    OS2.LIB, anstelle von DOSCALLS.LIB.)
  33.  
  34. c) Linker Maps
  35.  
  36. d) Listings
  37.  
  38. e) Object Libraries
  39.  
  40.  
  41. 2. Syntax
  42. ---------
  43.  
  44. Aufruf: CS argument*
  45.  
  46.         argument  = globalopt | fileset
  47.         fileset   = filespec  | '(' item* ')'
  48.         item      = localopt  | filespec
  49.         filespec  = filename  | filename '{' include* '}'
  50.         include   = filename
  51.  
  52. Wobei:  globalopt ε { -? -H -Am -Ff -Le -Sn -Oid
  53.                       -C -L -E -N -B -I -X -P -M -LS -NS -NF }
  54.  
  55.         m         = Modell-Bezeichner S, M, C, L, H oder MT
  56.         f         = Float-Typ E, 7, A oder D
  57.         e         = Programtyp-Bezeichner R, C, P, PM, B, W oder L
  58.         id        = Name der TOOLS.INI-Sektion mit den Compiler-Optionen
  59.         n         = Stackgröße in Bytes (dezimal oder hex mit Präfix 0x)
  60.  
  61.         filename  = beliebiger DOS-Dateiname, alle Namen in einem Fileset in ()
  62.                     müssen dieselbe Extension haben (C, PAS, FOR oder ASM)
  63.         localopt  = beliebige Option für den Compiler, der zu der Extension
  64.                     der Dateien in dem betreffenden Fileset gehört
  65.  
  66. Eingabedateien können die Typen C, PAS, FOR, ASM, OBJ, LIB oder RC
  67. haben bzw. DEF (Linkerinformationen), BAD (Informationen für BIND über
  68. an BadDynLink zu bindende Namen) oder CS (CS Projektdatei).
  69.  
  70. Um zusätzliche API-Libraries für BIND statt für LINK zu spezifizieren,
  71. muß ein Ausrufezeichen unmittelbar an den Namen der Library angehängt
  72. werden um sie von LINK-Libraries zu unterscheiden. Nach diesen BIND-
  73. Libraries wird im PLIB-Pfad (siehe 5.1) gesucht.
  74.  
  75. Sollen für eine oder mehrere Quelldateien spezielle Optionen an den
  76. betreffenden Compiler übergeben werden, so können diese zusammen mit
  77. den jeweiligen Dateien in runde Klammern eingeschlossen werden. Für
  78. jeden in () eingeschlossenen Satz Quelldateien wird ein eigener
  79. Compilerlauf mit den angegebenen lokalen Optionen durchgeführt.
  80.  
  81. Zur Unterstützung der MAKE-Strategie kann zu jeder Quelldatei ein Satz
  82. Dateien angegeben werden, von denen die Quelldatei abhängig ist (z.B.
  83. Include-Dateien). Dieser Satz Dateien muß in {} eingeschlossen werden
  84. und der Quelldatei unmittelbar folgen. Diese Dateien werden NUR für
  85. die Durchführung der MAKE-Strategie berücksichtigt und sonst in
  86. keinster Weise verwendet.
  87.  
  88. Werden in der Kommandozeile Dateien des Typs EXE, DLL, COM, MAP oder LST
  89. angegeben, so werden dadurch die Namen der Ausgabedateien bestimmt und
  90. (EXE/DLL/COM) ihr Typ festgelegt bzw. (MAP/LST) ihre Produktion ausgelöst.
  91.  
  92. Beispiel:
  93. CS -lp haupt.c{def.h} prog.exe (mod1.c mod2.c -Gt) mod3.asm mod4.c mod5.pas
  94.  
  95. (Falls dies etwas kryptisch erscheint, so verdeutlicht das den Nutzen
  96. von CS- Projektdateien, siehe später folgende Projektdatei-Version
  97. dieses Beispiels.)
  98.  
  99. Wildcard-Expansion wird unterstützt, jedoch ist zu beachten, daß Namen,
  100. die Wildcards enthalten, links und rechts durch Leerzeichen begrenzt
  101. werden müssen.
  102.  
  103. Falsch:  CS haupt.c (mod*.c -G2)
  104. Richtig: CS haupt.c ( mod*.c -G2)
  105.  
  106.  
  107. 3. CS-Projektdateien
  108. --------------------
  109.  
  110. Trifft CS in der Kommandozeile auf eine Datei mit dem Typ .CS, so wird
  111. die Kommandozeile nicht weiter ausgewertet, sondern weitere Optionen
  112. oder Dateinamen werden aus der betreffenden Datei gelesen. Die
  113. CS-Dateien (= Projektdateien) können beliebig viele Zeilen enthalten.
  114.  
  115. Der Dateityp .CS kann bei Projektdateien auch weggelassen werden, d.h.
  116. es reicht "CS name" falls name.CS im SOURCE-Pfad oder im aktuellen
  117. Verzeichnis existiert. Projektdateien sind die EINZIGEN Dateien, deren
  118. Typ in den CS-Argumenten weggelassen werden kann.
  119.  
  120. Für den Inhalt der CS-Dateien gilt dieselbe Syntax wie für die
  121. Kommandozeilen- parameter, jedoch kann die Struktur eines Projektes auf
  122. mehreren Zeilen über- sichtlicher festgehalten werden. Kommentarzeilen
  123. müssen mit ; oder # beginnen.
  124.  
  125. CS-Projektdateien sind in erster Linie für umfangreichere Projekte
  126. gedacht, bei denen () und/oder {} genutzt werden. Dann hat die
  127. Projektdatei die Funktion eines MAKEfiles und erspart Tipparbeit.
  128. CS-Projektdateien sind zudem weniger aufwendig zu schreiben und weniger
  129. fehleranfällig als MAKEfiles.
  130.  
  131. Die CS-Datei für das obige Beispiel könnte etwa so aussehen:
  132.  
  133. ; Projekt: xyz
  134. ; Stand:   1.4.1989
  135. ;
  136. ; Hauptmodul
  137. haupt.c {def.h}
  138. ;
  139. ; Untermodule mit Zusatz-Optionen
  140. (mod1.c mod2.c -Gt)
  141. ;
  142. ; Weitere Untermodule
  143. mod3.asm
  144. mod4.c
  145. mod5.pas
  146. ;
  147. ; Ausgabe-Name für BOUND-Programm
  148. prog.exe -lb
  149.  
  150. Falls an CS keine Parameter übergeben werden, oder die Parameter nur
  151. Optionen bzw. zumindest keine Eingabedateien der Typen C, PAS, FOR, ASM
  152. oder OBJ enthalten, so sucht CS im aktuellen Verzeichnis nach der Datei
  153. PROJECT.CS. Wird diese Datei gefunden, so wird sie gelesen, als ob sie
  154. als letzter Parameter an CS übergeben worden wäre. Das heißt, daß
  155. Optionen wie z.B. -OCV die Anweisungen in PROJECT.CS beeinflussen
  156. können. PROJECT.CS hat also eine ähnliche Funktione wie "makefile" für
  157. das Programm Make aus UNIX o.ä. Tools.
  158.  
  159.  
  160. 4. Optionen
  161. -----------
  162.  
  163. -Am     Legt das Speichermodell für C und MASM fest, wobei für MASM das 
  164.         Modell in Form eines Define-Symbols mit dem Namen "model"
  165.     übergeben wird, das noch in einem Statement der Art 
  166.         "% .MODEL model"
  167.     ausgewertet werden muß. Für m sind S, M, C, L, H und MT gültig.
  168.     MT bezeichnet ein Custom-Modell zur Multithread-Programmierung
  169.     unter OS/2 (mit LLIBCMT.LIB).
  170.  
  171. -Le     Bestimmt das Ausgabeformat des Linkers (e = R, C, W, P, PM, B oder L).
  172. -LR     -> Real-Mode-EXE für DOS
  173. -LC     -> Real-Mode-COM für DOS
  174. -LW     -> Real-Mode-Windows-EXE
  175. -LP     -> Protected-Mode-EXE für OS/2 (ohne Presentation Manager)
  176. -LPM    -> Protected-Mode-EXE für OS/2 (für Presentation Manager)
  177. -LB     -> Bound-EXE
  178. -LL     -> es wird nicht gelinkt sondern eine Library mit LIB erzeugt
  179.  
  180. -Ff     bestimmt den Typ der Fließkommaarithmetik
  181. -FE     Emulator-Fließkommaarithmetik                    Dies bestimmt
  182. -F7     Fließkommaarithmetik mit Koprozessor             auch den Typ der
  183. -FA     alternative Fließkommaarithmetik                 Standardlibrary mit !
  184. -FD     Dezimalarithmetik (nur für Pascal wirksam)
  185.  
  186. -Oid    Mit id werden die Compileroptionen eingestellt. Dazu wird in
  187.     TOOLS.INI nach eine Sektion mit dem Namen [CS-id] gesucht. Aus
  188.     dieser Sektion werden die Inhalte für die Environment-Variablen
  189.         CL, PL, FL, MASM und LINK aus den gleichnamigen Einträgen gelesen.
  190.         Die Länge von id ist auf max. 15 Zeichen beschränkt.
  191.  
  192. -Sn     Definiert die Stackgröße, n kann dezimal oder 0xhex angegeben werden.
  193.  
  194. -C      Compile only
  195.  
  196. -L      Link only
  197.  
  198. -E      Echo der Kommandos, bevor sie ausgeführt werden
  199.  
  200. -N      Keine Ausführung der Kommandos, nur Anzeige
  201.  
  202. -B      Abschalten der MAKE-Strategie
  203.  
  204. -X      Linken ohne Standard-Libraries
  205.  
  206. -I      Inkrementelles Linken
  207.  
  208. -P      Aufruf von CVPACK, falls für CodeView gelinkt wird
  209.  
  210. -M      Löst die Erzeugung einer Linker-Map (bei -LB auch Binder-Map) aus.
  211.  
  212. -LS     Löst die Erzeugung eines Übersetzungs-Listings aus
  213.  
  214. -NF     Verwendung vollständiger Pfadnamen der Quelltexte beim Übersetzen
  215.         (Sinnvoll bei Verwendung von CodeView, dieser findet dann die
  216.         Quelltexte auch dann, wenn sie nicht im aktuellen Verzeichnis stehen)
  217.  
  218. -NS     Verwendung einfacher Dateinamen, falls die Quelldateien im aktuellen
  219.         Verzeichnis stehen
  220.  
  221.  
  222. 5. TOOLS.INI
  223. ------------
  224.  
  225. Die für CS erforderlichen Informationen über die konkrete Umbgebung
  226. müssen in der Datei TOOLS.INI definiert werden. Diese Datei muß über
  227. die Environment- Variablen INIT oder PATH auffindbar sein. Sie wird
  228. auch vom Microsoft Editor und dem Microsoft Make Dienstprogramm
  229. verwendet, die diese Datei über die Environment-Variable INIT suchen.
  230.  
  231.  
  232. 5.1. Sektion [CS]
  233. -----------------
  234.  
  235. MODEL=<modell>
  236.  
  237. Mögliche Werte für <modell> sind die Worte SMALL, MEDIUM, COMPACT,
  238. LARGE, HUGE oder MTHREAD.
  239.  
  240. EXETYPE=<typ> 
  241. Mögliche Werte für <typ> sind DEFAULT, DOS, COM, OS2, OS2PM, BOUND,
  242. WINDOWS oder LIBRARY. Bei DEFAULT wird abhängig vom aktuellen Maschinenmodus
  243. automatisch ein Real- oder Protected-Mode-EXE-Programm erzeugt.
  244. Bei LIBRARY werden alle Objektdateien mit LIB in eine Library geschrieben.
  245.  
  246. FLOAT=<typ>
  247. Mögliche Werte für die Fließkommaarithmetik sind EMULATOR, 80X87,
  248. ALTERNATE oder DECIMAL.
  249.  
  250. OPTIONS=<id>
  251. ID der Sektion mit den Default-Compileroptionen (siehe auch bei
  252. Kommandozeilen- option -Oid). Die Länge von <id> ist auf max. 15 Zeichen
  253. beschränkt.
  254.  
  255. STACK=<größe>
  256. Legt die Standard-Stackgröße fest.
  257.  
  258. ILINK=<Optionen>
  259. Damit werden die Optionen für LINK festgelegt, mit denen ein .EXE für
  260. ILINK vorbereitet wird (sollte /PADC:x und /PADD:x enthalten, nicht aber
  261. /INC).
  262.  
  263. NAMES=FULL oder NAMES=SHORT
  264. Bei FULL werden beim Übersetzen vollständige Pfadnamen der Quelltexte
  265. verwendet. (Sinnvoll bei Verwendung von CodeView, dieser findet dann die
  266. Quelltexte auch dann, wenn sie nicht im aktuellen Verzeichnis stehen.)
  267. Bei SHORT werden einfache Dateinamen verwendet, falls die Quelldateien im
  268. aktuellen Verzeichnis stehen.
  269.  
  270. BUILD=NO oder BUILD=YES
  271. Mit Build=Yes wird die MAKE-Strategie abgschaltet. Normalerweise sollte
  272. mit BUIL=NO gearbeitet werden.
  273.  
  274. RAMDISK=<path>
  275. Wird für <path> ein nichtleerer Pfadname angegeben (der in die RAMDISK
  276. verweisen sollte), so werden vor dem Start eines Compilers die zu der
  277. betreffenden Sprache gehörigen Include-Files dorthin kopiert, falls sie
  278. dort noch nicht existieren. Siehe 4.3.
  279.  
  280. SOURCE=<pathlist>
  281. Damit können Verzeichnisse angegeben werden, die automatisch nach
  282. Quelldateien durchsucht werden, wenn CS sie nicht im aktuellen
  283. Verzeichnis findet. SOURCE gilt für Dateien mit den Typen ASM, C, PAS, FOR,
  284. DEF, BAD und CS.
  285.  
  286. OBJ=<pathlist>
  287. Dto. für Objektdateien.
  288.  
  289. OUTPUT=<path>
  290. Spezifiziert das Ausgabeverzeichnis für alle mit CS erzeugten Dateien.
  291. <path> sollte nach Möglichkeit in die Ramdisk zeigen. Ausgabedateien
  292. (EXE-, MAP-Files) können aber auch explizit Laufwerksbezeichnungen oder
  293. Pfadnamen vorangestellt werden, damit wird OUTPUT für die betreffende
  294. Datei dann ignoriert.
  295.  
  296. INCLUDE=<pathlist>
  297. TMP=<path>
  298. Diese Einträge spezifizieren die Inhalte der gleichnamigen Environment-
  299. Variablen für die Compiler und den Linker und werden vor dem Aufruf der
  300. Programme entsprechend gesetzt.
  301.  
  302. RLIB=<pathlist> 
  303. PLIB=<pathlist> 
  304. WLIB=<pathlist> 
  305. Diese Einträge spezifizieren den Inhalt der Environmentvariable LIB
  306. beim Linken von Real-Mode-Programmen (DOS-EXE oder COM), Protected-
  307. Mode-Programmen (OS2-EXE oder Bound-Programme) bzw. Windows-Programmen.
  308.  
  309.  
  310. 5.2. Sektionen [CS-id]
  311. ----------------------
  312.  
  313. Diese Sektionen enthalten die Einträge mit den gewünschten
  314. Standard- optionen der gleichnamigen Programme.
  315.  
  316. Beispiel:
  317.  
  318. [CS-STD]
  319. CL=-W3 -Zdep1 -J -G2s -Oxn
  320. PL=-w3 -Zdz
  321. FL=-W1 -Zd -FPi -G2s -Ox
  322. MASM=-W2 -Ml -X -Zd
  323. LINK=/BAT /NOIG /NOE
  324.  
  325.  
  326. 5.3. Sektionen [CS+ASM], [CS+C], [CS+FOR] und [CS+PAS]
  327. ------------------------------------------------------
  328.  
  329. In diesen Sektionen wird festgelegt welche Include-Files zu welcher
  330. Sprache in das RAMDISK-Verzeichnis kopiert werden und wo sie zu
  331. finden sind.
  332.  
  333. Die beliebig vielen Einträge je Sektion haben das Format:
  334.  
  335. FLAGFILE=SOURCE
  336.  
  337. wobei FLAGFILE den Namen einer Datei enthält, deren Existenz vor dem
  338. Start des entsprechenden Compilers geprüft wird. Existiert diese Datei
  339. nicht im RAMDISK-Verzeichnis, so werden die mit SOURCE angegebenen
  340. Dateien dorthin kopiert. SOURCE muß einen vollständigen Pfad und ein
  341. Dateimuster enthalten.
  342.  
  343. Beispiel:
  344.  
  345. [CS+ASM]
  346. DOS.INC=C:\INCLUDE\*.INC
  347. OS2.INC=C:\INCLUDE\OS2\*.INC
  348. MACROS.INC=D:\INCLUDE\*.INC
  349.  
  350.  
  351. 6. Sonstige Eigenschaften
  352. -------------------------
  353.  
  354. Falls der Linker einen Fehler meldet, so bleibt dessen Standard-Eingabe
  355. (Response-Datei) unter dem Namen CS.INP im OUTPUT-Verzeichnis erhalten.
  356. Mit Hilfe dieser Datei kann festgestellt werden, ob CS die richtigen
  357. Objekt- Dateien und Libraries zum Linken angegeben hat.
  358.  
  359. Wenn der zu den Compilern bzw. zum Assembler gelieferte
  360. Segmented-Executable Linker verwendet wird, so sollte zur Erzeugung von
  361. Windows-Programmen das Statement "EXETYPE WINDOWS" in die DEF-Datei
  362. aufgenommen werden, da die Vor- einstellung dieses Linkers "EXETYPE
  363. OS2" ist. Dies ist dann notwendig, wenn das Programm keine
  364. Resource-Datei benötigt, da sonst der Typ vom Resource Compiler
  365. berichtigt wird.
  366.  
  367. Die Standard-Libraries von Microsoft C, Pascal und FORTRAN müssen
  368. explizit den Mode-Suffix im Namen haben, wie z.B. CLIBCER.LIB,
  369. CLIBCEP.LIB und CLIBCEW.LIB statt CLIBCE.LIB, LIBPASER.LIB statt
  370. LIBPASE.LIB und z.B. MLIBFER.LIB statt MLIBFORE.LIB.
  371.  
  372. Obgleich CS den SOURCE Pfad nach Eingabedateien durchsucht, ist es
  373. empfehlenswert, das aktuelle Verzeichnis auf die Quelltexte
  374. einzustellen, da die Compiler nach Include-Dateien natürlich NICHT im
  375. SOURCE Pfad suchen.
  376.  
  377. Beim Windows Resource Compiler ist dies sogar erforderlich, da dieser
  378. keine vollständigen Pfadnamen akzeptiert. Die RES-Datei des
  379. Resource-Compilers wird entgegen den sonstigen Regeln nicht im OUTPUT
  380. Verzeichnis abgelegt sondern dort, wo auch die RC-Datei steht.
  381.  
  382. Der Windows Resource Compiler muß in RW.EXE umbenannt werden, damit
  383. keine Namenskonflikte mit dem Presentation Manager Resource Compiler
  384. entstehen. Dies gilt auch für den Preprozessor RCPP.EXE, der
  385. entsprechend umbenannt werden muß. Dessen neuer Name muß in RW.EXE dann
  386. gepatcht werden (falls auf einer Maschine beide verwendet werden).
  387.  
  388.  
  389. 7. Automatische Dateinamenswahl
  390. -------------------------------
  391.  
  392. Werden keine Namen für die Ausgabedateien (EXE, MAP) angegeben, so
  393. werden sie aus dem Namen der ersten übergebenen Datei gebildet.
  394.  
  395. Wird ein Protected-Mode- oder Bound-EXE-Programm erzeugt und ist keine
  396. DEF- bzw. keine BAD-Datei angegeben, so sucht CS immer nach einer DEF-
  397. bzw. BAD- Datei mit dem gleichen Namen und Pfad wie ihn die erste auf
  398. der Kommandozeile oder in der CS-Datei angegebene Datei hat und
  399. übergibt diese Dateien automatisch an LINK bzw. BIND, wenn sie
  400. existieren.
  401.  
  402. Wird ein Windows-Programm erzeugt, so werden auf die gleiche Weise eine
  403. DEF- und eine RC-Datei gesucht und mit verarbeitet.
  404.  
  405. Um Programme für den OS/2 Presentation Manager zu erzeugen, wird mit
  406. -LPM wie für normale OS/2-Programme übersetzt, die DEF- und RC-Dateien
  407. werden wieder automatisch gesucht und mit verarbeitet. Durch -LPM wird
  408. statt DOSCALLS.LIB nun mit OS2.LIB gelinkt.
  409.  
  410. Weichen die Namen von RC-, DEF- und ggf. BAD-Datei vom Namen der ersten
  411. Quelldatei ab, so sind sie explizit anzugeben.
  412.  
  413. Dies vereinfacht die Übersetzung von kleineren Single-Source-
  414. Programmen, für die dann keine CS-Datei angelegt werden muß, wenn die
  415. Zusatzdateien (DEF, BAD bzw. RC) den gleichen Namen haben wie die
  416. Quelldatei (aber natürlich den richtigen Typ).
  417.  
  418.  
  419. 8. DLL's
  420. --------
  421.  
  422. DLL's werden meist mit Speichermodellen wie -Asnu, -Asnw oder -Alfw
  423. usw. erzeugt. Laut C Compiler User's Manual sind solche Modelle auch
  424. mit einem Standardmodell und zusätzlich -Au oder -Aw erzeugbar. Es
  425. sollte daher das entsprechende Standardmodell global an CS übergeben
  426. werden (siehe unten) und -Aw oder -Au mit den betreffenden Quelldateien
  427. in runde Klammern eingeschlossen werden. Folgende Standardmodelle
  428. entsprechen den speziellen Speichermodellen:
  429.  
  430. -Asnw --> -AS -Aw    dto. für -Au
  431. -Asfw --> -AC -Aw
  432. -Alnw --> -AM -Aw
  433. -Alfw --> -AL -Aw
  434.  
  435. Um z.B. den Compileraufruf "CL -Asnw -G2s graflib.c" zu erreichen, muß
  436. "CS -AS (-Aw -G2s graflib.c)" verwendet werden (bzw. sinngemäße
  437. CS-Datei).
  438.  
  439. Für das Linken von DLL's ist u.U. die Option -X sinnvoll, wenn keine
  440. Standardbibliotheken mitgelinkt werden sollen.
  441.  
  442. Für DLL's sind diverse Endungen üblich, für Windows wird meist .EXE verwendet,
  443. für OS/2 meist .DLL. CS erlaubt die Angabe von .DLL alternativ zu .EXE.
  444. Um andere Endungen zu erzeugen, muß die .EXE-Datei eben umbenannt werden.
  445.  
  446. In der DEF-Datei darf natürlich das LIBRARY-Statement statt des
  447. NAME-Statements nicht fehlen.
  448.  
  449.  
  450. 9. Exit-Codes
  451. -------------
  452.  
  453. CS gibt bei Beendigung folgende Codes an den Aufrufer zurück:
  454.  
  455.   0 - erfolgreicher Ablauf
  456.   1 - es war nichts zu tun
  457.   2 - ein aufgerufenes Programm hat einen Fehler zurückgemeldet
  458.       (Compiler, Assembler, Linker ...)
  459.   3 - Syntaxfehler in der Kommandozeile oder einer Projektdatei (.CS)
  460.   4 - Konfigurationsfehler in TOOLS.INI
  461.   5 - eine benötigte Eingabedatei ist nicht vorhanden
  462.   6 - Ablauffehler von CS
  463.       (Speicher nicht ausreichend, E/A-Fehler ... )
  464.  
  465.   256 - Abbruch durch den Benutzer
  466.  
  467.  
  468. 10. Einschränkungen
  469. ------------------
  470.  
  471. - seit Version 4.3 keine mehr :-)
  472.   außer daß die Parser/Scanner-Generatoren BISON und FLEX noch nicht
  473.   unterstützt werden.
  474.