
Für MS DOS Rechner ist seit einiger Zeit ein Compiler von Mark Williams verfügbar, der jetzt in einer Umsetzung für den ST erschienen ist. Als Benutzeroberfläche wird eine SHELL benutzt, die sich stark an UNIX anlehnt, so daß für alle UNIX Benutzer eine schnelle Einarbeitungszeit gewährleistet ist. Geliefert wird das System auf 2 doppelseitig bespielten Disketten und einem 643 Seiten starken englischen Handbuch. Die Arbeit mit dem MWC beginnt damit, daß die Programme der Diskette auf eine Harddisk oder eine andere doppelseitige Diskette installiert werden. Das Kopieren der Files wird von einem speziellen INSTALL Programm erledigt. Der ganze Vorgang benötigt einige Zeit (auch bei Harddisk), so daß man erst einmal einen ausführlichen Blick in das Handbuch werfen kann. Es besteht aus 3 Teilen: Einer allgemeinen Beschreibung des Compilersystems (543 Seiten), einer Beschreibung des MAKE Utilities (25 Seiten) und einer abschließenden Erklärung des Editors MicroEMACS, der ein Subset des EMACS Editors darstellt. Der Editor arbeitet konventionell im Text Modus des ST und bietet neben den üblichen Befehlen auch die Aufteilung des Textes in mehrere Abschnitte (im Handbuch Windows genannt) und das Festlegen eines Makros (beliebiger Text kann gespeichert und auf Tastendruck wieder ausgegeben werden). Als besonderer Clou ist der Sourcetext zu diesem Editor mit auf der Diskette (in C), so daß man neue Befehle selbst implementieren kann. Der Compiler-Vorgang kann direkt aus dem Editor gestartet werden, indem eine Kommandozeile direkt an die SHELL übergeben wird. Hier ein kleiner Überblick der Kommandos der mitgelieferten Shell MSH:
Die Hauptprogramme in dieser Arbeitsumgebung werden vom Compiler (cc) und Linker (ld) gestellt. Der eigentliche Vorgang des Compilierens geschieht in 4 Durchgängen: Der Preprozessor ersetzt seine Direktiven (* include, yt define, etc.), danach erstellt der Parser den Zwischencode aus dem Source-Text. Dieser wird vom Code-Generator in 68000 Maschinensprache übersetzt. Als letzter Pass wird dieser noch von einem Optimizer abgearbeitet, der auch den Objekt-Code erstellt. Zusätzlich kann noch ein Disassembler zugeschaltet werden, der den Objekt-Code als Assembler File ausgibt. Dieses kann nach kleinen Änderungen mit dem mitgelieferten Assembler wieder in ein ObjektFormat gewandelt werden. Da die Angabe von Assemblercode im C-File nicht direkt möglich ist, können zeitkritische Routinen nur direkt mit
dem Assembler entwickelt werden und werden als Files mit dem Dateityp "S" dem Compiler übergeben. Der Compiler startet normalerweise den Linker automatisch und kann als Eingabe mehrere C-Source-Files und
auch Objekt-Files verarbeiten. Auch die Übergabe von Parametern (-Dname = Wert) ist möglich. Die Compilation erfolgt dann einwandfrei, aber der Linker meldet, daß in der GBibliothek LIBC.A das Verzeichnis der Symbolnamen nicht mehr aktuell ist. Wenn man diese Datei mit dem Archive-Programm bearbeitet, kann das Modul RANLIB.SYM auf den aktuellen Stand gebracht werden. Leider ist diese Fehlermeldung im Handbuch nicht aufgeführt, so daß ich erst nach einiger Zeit die Ursache dafür gefunden hatte. Das Entwanzen von Programmen kann mit dem symbolischen Debugger DB vorgenommen werden, der die
lauffähigen Programme auf Assemblerebene mit Angabe der Symbolnamen disassemblieren und ausführen kann. Zusammenfassend kann gesagt werden, mit dem MWC System erhält man ein sehr umfangreiches C-Entwicklungspaket, mit dem sich Standardprogramme von MS-DOS und UNIX einfach auf den ST portieren lassen. Die Unix C-Funktionen, GEMDOS, BIOS und XBIOS sind in der Dokumentation ausführlich beschrieben, allerdings hat man sich die Dokumentation der VDI und AES Funktionen gespart. Die mächtige Shell ist komfortabel gestaltet, arbeitet allerdings nur in einem reinen Textmodus. Wer mit dem MWC vernünftig arbeiten will, sollte eine Harddisk besitzen, da die Systemprogramme mit der Shell nicht auf einer Ramdisk zu installieren sind (es sei denn man hat einen 2 Megabyte Atari) und auf Diskette die Zeiten für das Compilieren und Linken nicht sehr gut sind. Oliver Joppich Die Software umfaßt:
|