Main sections
Präprozessor
GLBasic Präprozessor
Der GLBasic Präprozessor ist ein Programm das vor der Kompilierung der einzelnen .gbas Dateien einsetzt und Teile des Quellcodes auskommentiert bevor der eigentliche PreCompiler einsetzt. Das ist besonders hilfreich um z.B. Teile nur in der Debug Version eines Programms auszuführen oder plattformspezifischen Code besser zu verwalten.
Befehle
?DEFINE name [Wert]
Definiert das Symbol "name". Wird der optionale "Wert" weggelassen wird er zu 1 gesetzt.
Besteht die Variable bereits, wird sie überschrieben.
?UNDEF name
Entfernt die Definition einer Variablen.
?IFDEF name
Prüft ob ein Name definiert ist. Wenn nicht, wird der folgende Code bis ?ELSE oder ?ENDIF aus dem Programm entfernt.
?IFNDEF name
Prüft ob ein Name <B>nicht</B> definiert ist. Wenn nicht, wird der folgende Code bis ?ELSE oder ?ENDIF aus dem Programm entfernt.
?IF ausdruck
?IF DEFINED(name) OR DEFINED(name2)
Prüft ob der Term "ausdruck" einen Wert <>0 hat. Hier kann man auch mathematische Operatoren verwenden:
+, -, *, /, AND, OR, ( ), DEFINED(name). Es können Symbole die mit ?DEFINE gesetzt wurden verwendet werden.
Wenn nicht, wird der folgende Code bis ?ELSE oder ?ENDIF aus dem Programm entfernt.
?ELSE
Gibt eine "IF ELSE ENDIF" Anweisung an.
?ELSEIF ausdruck
Führt ein ?IF aus, wenn der ?ELSE Block ausgeführt wird.
?ENDIF
Beendet einen ?IFDEF Block.
?WARNING Meldung
Gibt eine Meldung als Warnung aus. Das kann hilfreich sein um bei bestimmten Platformen eine Information anzuzeigen, falls z.B. bestimmte Feature nicht vorhanden sind.
?ERROR Meldung
Beendet den Kompilierungs Prozess und gibt eine Fehlermeldung aus.
Definierte Namen
Folgende Symbole sind vom Editor aus definiert:
<B>GLB_DEBUG</B> Debug Modus ist aktiviert
<B>GLB_VERSION</B> Die Versionsnummer des Editors
<B>GLB_CONSOLE</B> Program ist Konsolenprogram
Platformen:
<B>WIN32</B> Aktuelle Platform ist: Win32
<B>OSXUNI</B> Apple Mac OS-X
<B>LINUX</B> Linux x86
<B>IPHONE</B>iPhone, iPod Touch
<B>WINCE</B>Windows Mobile, Windows Phone, PocketPC
<B>GP2XWIZ</B>Gamepark Holding GP2X-Wiz
<B>WIN32DLL</B>Win32, DLL
<B>GP2X</B>Gamepark holding GP2X (F100, F200)
<B>XBOXLINUX</B>Linux x86, software renderer
<B>CAANOO</B>GPH Caanoo Gerät
Beispiel:
?IF GLB_VERSION < 7.0
?ERROR Precprocessor not enabled ;)
?ENDIF
?IF WIN32
?DEFINE FASTGFX
?ENDIF
?IF FASTGFX
STARTPOLY -1
POLYVECTOR 0, 0, 0,0, 0xffffff
POLYVECTOR 0,99, 0,0, 0xffffff
POLYVECTOR 99,99, 0,0, 0xffffff
ENDPOLY
?ELSE // slow graphics ->
DRRAWRECT 0,0,99,99, 0xffffff
?ENDIF
?ELSEausdruckWin32, DLL