Eine Übersicht zu allen relevanten Programmen von Gambas wie zum Beispiel dem GB-Compiler oder dem GB-Interpreter liefern die folgenden zwei Aufrufe in einer Konsole:
hans@linux:~$ cd /usr/local/bin
hans@linux:/usr/local/bin$ ls -l g*
lrwxrwxrwx 1 root root 14 Okt 31 15:57 gambas3 -> gambas3.gambas
-rwxr-xr-x 1 root root 3720658 Nov 19 19:44 gambas3.gambas
-rwxr-xr-x 1 root root 116451 Nov 19 19:44 gba3
-rwxr-xr-x 1 root root 564804 Nov 19 19:44 gbc3
-rwxr-xr-x 1 root root 113171 Nov 19 19:44 gbi3
lrwxrwxrwx 1 root root 4 Nov 19 19:44 gbr3 -> gbx3
lrwxrwxrwx 1 root root 11 Okt 31 19:24 gbs3 -> gbs3.gambas
-rwxr-xr-x 1 root root 25204 Nov 19 19:44 gbs3.gambas
lrwxrwxrwx 1 root root 11 Okt 31 19:24 gbw3 -> gbs3.gambas
-rwxr-xr-x 1 root root 1924420 Nov 19 19:44 gbx3
hans@linux:/usr/local/bin$
Das Kapitel 'Gambas intern' widmet sich den Fragen: Wie arbeitet Gambas? oder Wie und in welcher Hierarchie wirken die einzelnen Programme Compiler, Archiver sowie Interpreter für ein Gambas-Projekt zusammen? Die folgende Grafik stellt diese Hierarchie nur statisch dar:
Abbildung 5.0.1.2.1: Gambas-Architektur → Projekt, Compiler, Archiver, Interpreter
Wenn Sie ein Programm in Gambas schreiben, dann erzeugen Sie in einem Projekt-Ordner
eine oder mehrere Dateien *.form. Eine Formular-Datei enthält die Beschreibung der gewünschten Programmoberfläche des Formulars.
eine oder mehrere Dateien *.class. Eine Klassen-Datei enthält den Programm-Code, den Sie selbst geschrieben haben. Existieren mehrere Dateien, dann hat eine den Status 'Startklasse'.
eine (Projekt-)Datei .project, die Informationen zu Ihrem Projekt enthält.
So arbeitet Gambas intern:
Zuerst werden die oben aufgeführten Dateien durch den Compiler 'gbc3' zu binärem P-Code übersetzt. Der P-Code wird im versteckten Ordner .gambas im Projekt-Verzeichnis in Datei abgespeichert (Dateinamen in Großbuchstaben). Es werden jede Klasse und jedes Modul in eine separate Datei kompiliert. In Anlehnung an
http://de.wikipedia.org/wiki/P-Code versteht man unter P-Code den Befehlssatz einer Pseudo-Maschine (oder P-Maschine), also einer virtuellen CPU, die P-Code als Maschinensprache ausführt. Der P-Code war ein Computer- bzw. CPU-unabhängiger Code und war Teil der Entwicklungsumgebung UCSD-Pascal. Die Umsetzung in die Maschinensprache der CPU erfolgt durch den Interpreter der P-Maschine.
Danach generiert das Programm Archiver (gba3) aus dem Inhalt der Datei .project und dem P-Code das ausführbare Programm, das in der Datei projektname.gambas gespeichert wird.
Die .form-Dateien werden vom Compiler ebenfalls in P-Code übersetzt. Für die graphischen Komponenten besteht kein Unterschied, ob man eine .form-Datei in der IDE erstellt oder die Formulare über den Quelltext generiert.
In der IDE von Gambas gilt für ein Gambas-Projekt:
Die Taste F7 startet den Compiler 'gbc3'
Die Taste F5 startet nacheinander den Compiler, nach erfolgreichem Kompilieren den Archiver 'gba3' und anschließend den Interpreter 'gbx3'. Das Programm wird gestartet.
Die Tastenkombination CTRL+ALT+M („make executable“) startet den Compiler und dann den Archiver und generiert eine ausführbare Datei projektname.gambas.
Für eine Konsole kommen Sie so zum erfolgreichen Programm-Start:
hans@linux:~$ gbc3 -ag pfad_zum_projekt_ordner
OK
hans@linux:~$ gba3 pfad_zum_projekt_ordner
hans@linux:~$ gbx3 pfad_zum_projekt_ordner
Ein kompiliertes Gambas-Archiv kann nur mit dem Programm 'gbr3' ausgeführt werden, denn 'gbr3' ist zwar eine symbolische Verknüpfung auf gbx3, verhält sich jedoch anders, wenn es als 'gbx3' aufgerufen wird.