Erzeugung von ausführbaren Dateien mit dem Compiler

Der Umgang mit dem BASIC-Compiler ist recht einfach, wenn Sie die hier beschriebenen Details beachten.

GW-BASIC: Programm zuerst im ASCII-Format abspeichern!

Um in GWBASIC.EXE ein Programm im ASCII-Format abspeichern zu können, genügt das Anhängen von ,a beim save-Befehl:

C:\BASICPRG>type meinprog.bas
æà#.@
  | å "Hallo" £ ):.
   ± <= Wirrwarr mit häufigem CHR$(7)-Piepsen, da Binärdatei!
     .//ò ç

C:\BASICPRG>gwbasic
GW-BASIC 3.23
(C) Copyright Microsoft 1983,1984,1985,1986,1987,1988
60300 Byte frei
Ok 
load "meinprog"
Ok
save "\bascomp\meinprog",a
Ok
system

C:\BASICPRG>cd \bascomp

C:\BASCOMP>type meinprog.bas
10 PRINT "Hallo"
20 I%=26
30 PRINT "Jetzt kann das Programm klar gelesen werden."

C:\BASCOMP>_

Übersetzung mit QuickBASIC Versionen vor 4.50

Version 1.02 arbeitet noch vollständig kommandozeilenorientiert: Zuerst mit BASCOM.EXE eine sog. Objektdatei (Datei mit Endung .OBJ) erzeugen und anschliessend mit LINK.EXE die ausführbare Datei erzeugen:

C:\BASCOMP>bascom
Microsoft QuickBASIC Compiler
Version 1.02
(C) Copyright Microsoft Corp. 1982, 1983, 1984, 1985

Source filename [.BAS]: meinprog
Object filename [MEINPROG.OBJ]: Eingabetaste
Source listing  [NUL.LST]: Eingabetaste

49193 Bytes Available
48952 Bytes Free

    0 Warning Error(s)
    0 Severe  Error(s)

C:\BASCOMP>link

Microsoft 8086 Object Linker
Version 3.02 (C) Copyright Microsoft Corp 1983, 1984, 1985

Object Modules [.OBJ]: meinprog
Run File [MEINPROG.EXE]: Eingabetaste
List File [NUL.MAP]: Eingabetaste
Libraries [.LIB]: Eingabetaste

C:\BASCOMP>_

Das fertige Programm MEINPROG.EXE kann nun gestartet werden:

C:\BASCOMP>meinprog

Hallo
Jetzt kann das Programm klar gelesen werden.


C:\BASCOMP>_

Beachten Sie hierbei, dass die .EXE-Datei nicht selbständig lauffähig ist und stattdessen die Datei BRUN10.EXE benötigt! Um den Umgang mit dem Compiler etwas zu vereinfachen, empfiehlt es sich, eine Batch-Datei C.BAT mit folgendem Inhalt zu erstellen:

REM Übersetzung eines BASIC-Programms
BASCOM %1;
LINK %1;
%1

Damit reicht eigentlich ein Aufruf

C:\BASCOMP>c meinprog

künftig aus.

Für GW-BASIC reicht Version 1.02 bereits aus, das es eigentlich bereits den vollständigen Befehlssatz unterstützt, ausserdem kann damit bereits ohne Zeilennummern gearbeitet werden. Konstrukte wie

IF Bedingung THEN
  Befehl1a ' mehrzeiliger Block!
  Befehl1b
ELSE
  Befehl2a
  Befehl2b
END IF

werden also bereits verstanden, SELECT CASE und eigene Strukturtypen mit TYPE jedoch noch nicht. Ausserdem ist dort die Grafik auf SCREEN 2 beschränkt. Version 2.01 bietet bereits eine integrierte Oberfläche, so dass Sie bequem über Menüs arbeiten können. Auch dort Programm als ASCII-Datei speichern!

QuickBASIC Version 4.50

Diese Version ist die minimale Voraussetzung, um Programme, welche mit dem bei MS-DOS 5.x und 6.x beiliegenden QBASIC.EXE geschrieben wurden, übersetzen zu können. Zugleich ist es auch möglich, selbständige .EXE-Dateien damit zu erstellen: Nach Aufruf von Run/Make EXE File... sollten Sie anstelle von EXE Requiring BRUN45.EXE die Option Stand-Alone EXE File markieren, bevor Sie auf Make EXE and Exit klicken. Für Profis: Im Hintergrund ruft QB.EXE ebenfalls BC.EXE und LINK.EXE auf, sodass Sie genauso wie bei der alten Version 1.02 arbeiten könnten! Ansonsten auch hier Programm vorher im ASCII-Format speichern!


Wieder zurück zur Übersicht


© 2000 by Andreas Meile