home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
pc
/
0400
/
CCE_0423.ZIP
/
CCE_0423.PD
/
GNUSHELL.LZH
/
GNUSHELL
/
GNUSHELL.TXT
< prev
next >
Wrap
Text File
|
1992-08-23
|
14KB
|
295 lines
Dokumentation zur GNU-Shell Version 1.0ß vom 22.08.92
Da der GNU-C-Compiler unter UN*X entstand, ist die Bedienung normalerweise
nur über einen Commandline-Interpreter (z.B. Mupfel) möglich.
Außerdem muß von dem CLI ein recht umfangreiches Environment gesetzt
werden, damit alle Programme die benötigten Dateien finden.
Die GNU-Shell ermöglicht nun ein Arbeiten mit dem GNU-C-Compiler mit einer
maus-orientierten Oberfläche, wie man es vom ST gewöhnt ist.
Die Shell ist PD. Jeder darf sie benutzen und weitergeben (das ist sogar
erwünscht !)
Ich erhoffe mir dadurch eine große 'Anwendergemeinde' und viele neue
Anregungen. Außerdem wurde die Shell noch nicht bis ins kleinste getestet,
es könnten also auch noch grobe Fehler durch sie verursacht werden.
Ich übernehme keinerlei Haftung für eventuelle Schäden, die durch die
Shell entstehen.
Alle Fragen, Anregungen und besonders Fehler bitte an:
Christian Felsch
Bevenser Weg 18
2100 Hamburg 90
E-Mail: Christian Felsch @ HH (MausNet)
-------------------------------------------------------------------------
Nun zur Beschreibung des Programms:
1. Allgemeines
-------------------
Die Shell ist vollständig in Megamax Modula2 geschrieben, unter
Verwendung der MAGIC von Peter Hellinger. Sie ist komplett maus-
orientiert, kann aber auch mit der Tastatur bedient werden.
Zur Shell gehören folgende Dateien:
GNUSHELL.PRG die eigentliche Shell
GNUSHELL.RSC die Resource dazu
GNUSHELL.INF Inf-Datei mit Einstellungen, Pfaden, usw.
GNUSHELL.TXT dieser Text
HISTORY.TXT Entwicklung der GNU-Shell
Die Shell geht davon aus, daß die GNU-Binaries mit den ursprünglichen
Dateinamen vorliegen. Das Einstellen anderer Namen ist im Moment
noch NICHT möglich !
Es werden folgende Dateien als vorhanden vorrausgesetzt:
gcc.ttp C Compiler
g++.ttp C++ Compiler : nur bei Version 1.x
make.ttp Make
Ab der Compilerversion 2.0 gibt es nur noch 'gcc.ttp' als Compiler-
treiber, im Gegensatz zur Version 1.4, bei der es noch einen Treiber
für C und einen für C++ gibt.
Die GNU-Shell entscheidet anhand der Quelltext-Extension, ob es sich
um ein C oder ein C++ Programm handelt. Die Extension für C ist *.C,
für C++ *.CC .
2. Die Desktop-Box
-------------------
Bei dieser Box handelt es sich um eine Dialogbox, die wie ein
normales GEM-Fenster arbeitet. Sie erleichtert die Bedienung der
GNU-Shell, da sie die wichtigsten Funktionen zum Arbeiten mit GCC
direkt, und nicht über Umwege wie z.B. Menüs, zur Verfügung stellt.
Die Funktionen sind mit der Maus anzulicken und teilweise auch über
eine entsprechende Funktionstaste zu erreichen.
Folgende Funktionen stehen zur Verfügung:
Arbeitsdatei : Wird mit der Maus auf das Editfeld geklickt,
erscheint eine Fileselectbox und man kann hier
die gewünschte C-Quelldatei auswählen. In der
Deskbox wird nur der Name angezeigt, intern wird
aber natürlich auch der Pfad mit verarbeitet.
Makefile : Auswahl des aktuellen Makefile. (wie Arbeitsdatei)
Editor (F1) : Es wird der Editor gestartet. An ihn wird die
aktuelle Arbeitsdatei (ggf. auch die Errordatei)
übergeben.
Einige Editoren bieten die Möglichkeit sie mit
einem Exit-Code zu verlassen. Die GNU-Shell unter-
stützt z.Z. folgende Codes:
-1 : Compiler mit aktueller Arbeitsdatei starten
-2 : Make mit aktuellem Makefile starten
Compiler (F2) : Es wird der Compiler mit der aktuellen Arbeits-
datei gestartet. Die eingestellten Optionen
werden berücksichtigt.
Der Pfad für den BIN-Ordner muß gesetzt sein !
Die Shell erkennt selbständig, ob der C oder der
C++ Compiler benötigt wird (Compiler-Version 1.x)
Make (F3) : Bisher wird hier nur das 'make.ttp' mit dem aktu-
ellen Makefile gestartet.
Starten (F4) : Ist das Programm bereits bekannt (nach einem vor
rangegangenen Compilerlauf) wird es sofort ge-
startet, sonst kommt eine Fileselectbox.
2. Das Menü
-----------------
Die Menüeinträge können auch durch die Tastatur aktiviert werden.
Hierbei bedeutet z.B. '^Q' Ctrl-Q und '◆C' Alt-C
2.1 Datei
-Programme starten
Hier kann ein beliebiges Programm gestartet werden.
Das Programm wird in dem eingestellte Environment gestartet.
Wird ein Programm mit der Endung TTP gewählt, hat man ie Möglich-
keit, eine Argumentzeile an dieses zu übergeben. In der erschein-
den Dialogbox kann man Argumente direkt eingeben oder über eine
Fileselectbox einen Dateinamen finden. Klick man dann 'starten'
an, wird an das Programm der Inhalt der Edit-Zeile übergeben.
-Ende
Beendet die GNU-Shell OHNE weitere Abfragen.
2.2 Parameter
-Environment
In dieser Box werden die Pfade für das Environment eingestellt.
Die Pfade bei Standard-Environment müssen immer gesetzt sein,
da sonst eine einwandfreie Benutzung des Compilers nicht möglich
ist !
Zum Ändern der Pfade können diese direkt über die Tastatur einge-
geben werden, oder aber man klickt auf den entsprecheneden Button
und wählt den Pfad mit einer Fileselect-Box.
Editor : Hier wird nicht nur der Pfad, sondern auch der
Programmname angegeben.
BIN : Ordner, in dem sich alle Binaries (gcc.ttp, u.s.w.)
befinden.
INCLUDE : Der Ordner für die Standard-Include-Dateien
INCLUDE C++: Der Ordner für die Include-Dateien von C++
INCLUDE SYS: Der Ordner für die Sys-Include. Er befindet sich
meistens bei den Standart-Includes.
Von der GNU-Shell werden folgende Environment-Variablen gesetzt:
GCCEXEC, GNULIB, GNUINC und TEMP entsprechend der getätigten
Eingaben.
Außerdem noch:
CFLAGS -I.
Zusätzlich zu dem Standard-Environment können im unteren Teil der
Box weitere Environment-Variablen gesetzt werden.
Die hier getätigten Eintragungen werden NICHT überprüft, d.h. sie
werden so ins Environment eingetragen.
Eine Eintragung kann z.B. so aussehen:
PFADXY=c:\xy\
Es können max. 3 zusätzliche Eintragungen gemacht werden, d.h.
pro Zeile nur 1 Variable !
Für eine einwandfreie Benutzung des 'make' wird das Setzen der
Variablen PATH dringent empfohlen !
-Compiler
Hier werden alle Compiler-Optionen eingestellt bzw. eingegeben.
Verwendeter
Compiler : Hier wird die verwendete Compilerverion eingestellt.
Dies ist notwendig, da es zwischen den Versionen
einige Unterschiede gibt, z.B. ist bei Ver. 2.1 eine
zusätzliche Optimierungsoption vorhanden, die der
1.4-Compiler nicht kennt.
Outfile-Name : Hier wird der Dateiname eingegeben, den der Compiler
erzeugen soll. Wird als erste Zeichen ein '*' ein-
gegeben, wird der Name des Quelltextes übernommen
und die nach dem '*' folgende Extension angehängt.
z.B. *.TOS : TEST.C -> TEST.TOS
Wenn das erste Zeichen kein '*' ist, wird der ein-
gegebene Text als vollständiger Name übernommen.
z.B. A.OUT : TEST.C -> A.OUT
zus. Linkfiles: Wird diese Option angeschaltet, werden die folgenden
Libraries zum Programm dazugelinkt.
Es dürfen hier nur die Namen der Libraries durch
Komma getrennt eingegeben werde, also z.B.
gem,pml
sons. Optionen: Hier können noch zusätzliche Optionen eingegeben
werden. Sie müssen die bekannte Form aufweisen:
Am Anfang '-' und untereinander durch ' ' getrennt.
Die anderen Optionen erklären sich von selbst, für genauere Er-
klärungen verweise ich auf die GNU-Dokumentation.
Wenn die Option Preprozessor gewählt wird, wird beim Compilerstart
lediglich der Preprozessor ausgeführt. Das Ergebnis liegt dann in
einer Datei mit dem alten Namen und der Extension '._P', z.B.
DEMO.C -> DEMO._P
-Allgemeines
Die hier vorhandenen Einstellungen beziehen sich z.Zt nur auf den
Editor.
Editor resident: Es besteht die Möglichkeit (natürlich nur, wenn
genügend Speicher vorhanden ist) den angemeldeten
Editor resident in den Speicher zu laden.
Da sich dann der Editor schon im Speicher befindet,
erspart man sich das ständige Laden vom Laufwerk.
Ist es angeschaltet, wird nach dem Verlassen der
Box mit OK der Editor geladen.
Hatte man den Editor im Speicher und schaltet man
es wieder aus, wird der Editor aus dem Speicher
entfernt.
Startpfad : Bei vielen Editoren ist es möglich, Einstellungen,
Makros u.s.w. zu speichern. Wenn man nun eine
spezielle C-Makrodatei für den Editor nur mit der
GNU-Shell benutzen möchte, legt man diese in den
Ordner, in dem sich die Quelltexte befinden.
Ist nun 'Source-Pfad' angeschaltet, wird vor dem
Start des Editors der aktuelle Pfad auf das Quell-
textverzeichnis gesetzt, und der Editor findet das
C-Makro. Ist dagegen 'Editor-Pfad' eingestellt, ist
der Pfad des Editors der aktuelle und es wird eine
sich eventuell dort befindende Datei geladen.
Fehlermeldungen: Wenn beim Übersetzen eines Quelltextes Fehler auf-
treten, erscheinen diese NICHT auf dem Bildschirm,
sondern werden in der Datei 'GNU.ERR' abgelegt.
Diese Datei befindet sich dann in dem Verzeichnis,
in dem sich auch die Quelltexte befinden.
Ist nun 'Start des Editors' gewählt, wird, falls
die Fehlerdatei vorhanden ist, nach Beendigung
des Übersetzens der Editor gestartet. An ihn
werden dann die Quelltext-und die Fehlerdatei über-
geben.
Wenn man 'Warnmeldung' anschaltet, weist nur eine
Alertbox auf aufgetretene Fehler hin. Die Fehler-
datei ist dann trozdem vorhanden.
Wenn der Compiler keine Fehler meldet, wird die
Fehlerdatei wieder gelöscht.
-sichern
Hiermit werden alle Einstellungen gesichert.
Die entstehende Datei 'GNUSHELL.INF' wird beim Starten der Shell
in dem Startverzeichnis gesucht und, falls vorhanden, geladen.
Sollte diese Datei einmal fehlen, wird man darauf hingewiesen,
und muß alle Einstellungen neu vornehmen.
Wurde die Option 'Editor resident' gewählt, und diese auch ge-
speichert, wird nach dem Starten der Shell der Editor in den
Speicher geladen.
So, das wäre die Beschreibung der GNU-Shell.
Es wird noch viele Dinge geben, die besser gemacht werden könnten.
Außerdem habe ich die Shell noch nicht ausgiebig testen können, da
ich noch nicht soviel von C weiß.
Ich hoffe viele Anregungen, Fehlerberichte und sonstige Reaktionen
zu diesem Programm zu bekommen, damit ich auch in Zukunft Verbesserungen
und Korrekturen anbringen kann.
Hamburg, 22.8.92
Christian Felsch