Kompilieren Ihrer Programme
Das Kompilieren ist einfach. Wählen Sie einfach "Kompilieren/Starten" (standardmäßig auch mittels der F5-Taste möglich) und Ihr Programm wird kompiliert und für einen Testlauf gestartet.Das Compiler-Menü
Kompilieren/Starten
Dies kompiliert den aktuellen Quellcode mit den eingestellten Compiler-Optionen und führt ihn aus. Das Executable (die ausführbare Datei) wird an einem temporären Platz gespeichert, der aktuelle Pfad wird jedoch auf das Verzeichnis des Quellcodes gesetzt. (Das Laden einer Datei aus dem gleichen Verzeichnis wie der Quellcode funktioniert somit.)
Der Quellcode muss dafür nicht gespeichert werden. (Jedoch müssen Include-Dateien gespeichert werden.)
Die "Kompilieren/Starten"-Option berücksichtigt die Debugger-Einstellungen (ein oder aus) in den Compiler-Optionen sowie dem Debugger-Menü. (Beides sind die gleichen.)
Starten
Dies führt den zuletzt kompilierten Quellcode ein weiteres Mal aus. Ob der Debugger eingeschalten ist oder nicht, hängt von den Einstellungen bei der letzten Kompilierung ab.
Mit Debugger kompilieren
Dies ist das gleiche wie "Kompilieren/Starten", außer dass dabei die Debugger-Einstellungen ignoriert werden und der Debugger für diese Kompilierung immer aktiv ist. Dies ist nützlich, wenn Sie gewöhnlich den Debugger ausgeschalten haben, ihn aber für diese eine Kompilierung eingeschalten haben möchten.
Ohne Debugger kompilieren
Das gleiche wie "Mit Debugger kompilieren", nur dass für diese Kompilierung der Debugger abgeschalten bleibt.
Compiler neustarten (nicht auf allen OS verfügbar)
Dies zwingt den Compiler zu einem Neustart. Es veranlasst den Compiler auch zu einem Neuladen aller Libraries und Resident-Dateien - damit wird auch die Liste bekannter PureBasic-Funktionen, Strukturen, Interfaces und Konstanten aktualisiert.
Diese Funktion ist nützlich, wenn Sie eine neue User-Library zum PureBasic-Verzeichnis hinzugefügt haben, aber nicht die gesamte IDE neustarten wollen. Das ist besonders nützlich für Library-Entwickler zum Testen ihrer Library.
Compiler-Optionen
Dies öffnet das Compiler-Optionen Dialogfenster, welches Sie die Einstellungen für die Kompilierung dieser Quellcode-Datei vornehmen lässt.
Executable erstellen
Dies öffnet einen Speichern-Dialog, und bittet um den Namen des zu erstellenden Executable. Wenn das Executable-Format auf DLL eingestellt ist, wird eine 'DLL' auf Windows, ein 'Shared Object' auf Linux und eine 'dylib' auf OS X erstellt.
Beim Erstellen eines Executable auf OS X wird durch das Anfügen von '.app' am Executable-Namen ein "bundled" (gebündeltes) Executable mit der notwendigen Verzeichnisstruktur einschließlich des Icons erstellt. Wenn kein '.app' angegeben wird, dann wird ein reguläres Konsolen-artiges Executable erstellt.
Standard-Ziel setzen
Wenn ein Projekt geöffnet ist, zeigt dieses Untermenü alle Kompilier-Ziele und ermöglicht das schnelle Umschalten des aktuellen Standard-Ziels. Das Standard-Ziel ist dasjenige, welches mit dem "Kompilieren/Starten"-Menüeintrag kompiliert/ausgeführt wird.
Ziel erstellen
Wenn ein Projekt geöffnet ist, zeigt dieses Untermenü alle Kompilier-Ziele und erlaubt das direkte Kompilieren eines davon.
Alle Ziele erstellen
Wenn ein Projekt geöffnet ist, kompiliert dieser Menüeintrag alle Ziele, bei denen diese Option in den Compiler-Optionen aktiviert ist. Ein Fenster wird geöffnet, um den Erstellungsprozess anzuzeigen.
Compiler-Optionen für Nicht-Projektdateien
Haupt-Quellcode:
Mit dem Aktivieren dieser Option können Sie eine andere Datei definieren, welche anstelle der aktuellen Datei an den Compiler geschickt wird. Der Sinn dieser Einstellung besteht darin, dass Sie eine Datei - welche nicht selbständig läuft, aber in einer anderen Datei eingebunden wird (Include-Datei) - bearbeiten können, und dem Compiler stattdessen mitteilen können, die andere Quellcode-Datei zum Starten der Kompilierung zu nutzen.
Hinweis: Bei der Verwendung dieser Option MÜSSEN Sie Ihren Quellcode vor dem Kompilieren speichern, da nur auf Disk gespeicherte Dateien in dieser Einstellung verwendet werden. Die meisten der Compiler-Einstellungen werden vom Haupt-Quellcode benutzt - darum werden auch die meisten Einstellungen zu den Compiler-Optionen des aktuellen Quellcodes deaktiviert. Nur einige Einstellungen wie die Debugger-Einstellungen werden vom aktuellen Quellcode verwendet.
Verwende Compiler
Mit dieser Option kann die Verwendung eines anderen Compilers ausgewählt werden, als den Compiler der aktuellen PureBasic-Version. Dies macht es einfach, verschiedene Versionen des gleichen Programms (x86, und x64) zu kompilieren, ohne die IDE des anderen Compilers extra nur für das Kompilieren starten zu müssen. Zusätzliche Compiler für diese Option müssen in den Einstellungen konfiguriert werden.
Wenn die Compiler-Version mit dem Standard-Compiler übereinstimmt, aber der Ziel-Prozessor ein anderer ist, dann kann der eingebaute Debugger der IDE trotzdem verwendet werden, um das kompilierte Executable zu debuggen. Dies bedeutet, dass ein mit dem x86-Compiler kompiliertes Executable mittels der x64-IDE debuggt werden kann, und umgekehrt. Wenn die Version nicht übereinstimmt, dann wird der - mit dem ausgewählten Compiler mitgelieferte - eigenständige Debugger zum Debuggen verwendet, um Versions-Konflikte zu vermeiden.
Benutze Icon (nur auf Windows und MacOS X)
Hier können Sie ein Icon einstellen, welches beim Anzeigen des erstellten Executable im Explorer dargestellt wird. Es wird auch in der Titelzeile Ihres Programms und in der Taskleiste angezeigt.
Windows: Das Icon muss im ICO-Format (Windows-Icon) vorliegen.
MacOS X: Das Icon muss im ICNS-Format (Macintosh-Icon) vorliegen. Um solch ein Icon zu erstellen, sollten Sie PNG-Dateien mit den Dimensionen 128x128, 48x48, 32x32 und 16x16 Ihres Bildes erstellen. Dann können sie das Programm "Icon Composer" aus den OSX Developer Tools verwenden, um die ICNS-Datei zu erstellen. Diese sollte sich im Ordner "/Developer/Applications/Utilities/" befinden. Um angezeigt zu werden, wenn die Anwendung gerade erstellt wurde, muss der Finder ggf. neu gestartet werden.
InlineASM-Unterstützung einschalten
Schaltet den InlineASM-Parser ein. Sehen Sie in den Inline x86 ASM Abschnitt der Hilfedatei für weitere Informationen zu dieser Option.
Threadsicheres Executable erstellen
Diese Option teilt dem Compiler mit, dass er eine spezielle Version von bestimmten Befehlen verwenden soll, um diese sicher zur Verwendung in Threads zu machen. Siehe die Thread Library für weitere Informationen.
Dies aktiviert auch den Debugger, damit dieser korrekte Informationen anzeigt, wenn Threads verwendet werden. Ohne diese Option gibt der Debugger zum Beispiel möglicherweise falsche Zeilennummern aus, wenn Threads im Spiel sind.
Moderne Themen-Unterstützung aktivieren (nur bei Windows)
Fügt "Skin-Unterstützung" (verschiedene Designs) für Fenster auf Windows XP, Windows Vista, Windows 7 oder Windows 8 hinzu.
Administrator-Modus für Windows Vista anfordern (nur bei Windows)
Das erstellte Executable wird auf Windows Vista immer mit Administrator-Rechten gestartet (es wird nicht starten, wenn das Administrator-Passwort nicht eingegeben wurde). Diese Option sollte für Programme aktiviert werden, welche Zugriff auf eingeschränkte Verzeichnisse oder eingeschränkte Bereiche der Registry benötigen, um vollen Zugriff zu erhalten.
Wenn diese Option eingeschaltet wird, wird für das Debuggen automatisch der eigenständige Debugger ausgewählt, damit das Programm im Administrator-Modus getestet werden kann.
Hinweis: Diese Option hat keinen Effekt, wenn das Programm auf anderen Windows-Versionen läuft.
User-Modus für Windows Vista anfordern (nur bei Windows)
Diese Option deaktiviert für dieses Executable das "Virtualisierungs"-Feature auf Windows Vista. Virtualisierung veranlasst die Umleitung von Datei- und Registry-Zugriffen auf einen speziellen Anwender-Ordner, wenn der Anwender nicht die benötigten Rechten für das Ausführen der Operation hat. (Dies erfolgt zwecks Kompatibilität mit älteren Programmen.)
Bitte beachten Sie, dass diese Umleitung erfolgt, ohne den Anwender darüber zu informieren. Dies kann zu einiger Verwirrung führen, wenn er versucht die gespeicherten Daten im Dateisystem zu finden. Daher ist es empfehlenswert dieses Feature zu deaktivieren, wenn das Programm den Windows Vista Datei-/Registry-Zugriffsregeln entspricht.
Hinweis: Diese Option hat keinen Effekt, wenn das Programm auf anderen Windows-Versionen läuft. Sie kann nicht mit der vorgenannten "Administrator-Modus" Option kombiniert werden.
OnError-Unterstützung einschalten (nur bei Windows)
Bindet Informationen zu den Zeilennummern zur Verwendung mit der OnError-Library in das Executable ein.
Library Subsystem
Hier können Sie verschiedene PB-Subsysteme für die Kompilierung auswählen. Es kann mehr als ein Subsystem angegeben werden, getrennt durch Leerzeichen. Für weitere Informationen siehe das Kapitel Subsysteme.
Executable-Format
Ermöglicht Ihnen das zu erstellende Executable-Format einzustellen:
Windows : ein normales Windows-Executable.
Console : ein Executable mit der Standard-Konsole. Dieses kann trotzdem Fenster usw. öffnen, hat jedoch stets ein Konsolenfenster geöffnet. Bei der Ausführung über die Eingabeaufforderung verwendet dieser Executable-Typ die Eingabeaufforderung als seine Konsole und schreibt dort hinein, während das "Windows"-Executable bei der Verwendung von OpenConsole() ein separates Konsolenfenster erstellt. Diese Einstellung muss zum Erstellen von Konsolen-Anwendungen verwendet werden, deren Eingabe/Ausgabe mittels Pipes umgeleitet werden kann.
Shared DLL : erstellt eine Windows DLL. Siehe Erstellung einer DLL für weitere Informationen.
Hinweis: Wenn Sie "Kompilieren/Starten" mit einem DLL-Quellcode ausführen, wird dieser als normales Executable ausgeführt. Eine DLL wird nur dann erstellt, wenn Sie "Executable erstellen" verwenden.
CPU-Optimierung (rechts neben Executable-Format)
Diese Einstellung ermöglicht Ihnen das Einbinden CPU-optimierter PB-Funktionen in Ihrem Executable:
Alle CPU : Die generischen Funktionen, welche auf allen CPUs laufen, werden eingebunden.
Dynamische CPU : Die generischen Funktionen wie auch alle CPU-spezifischen Funktionen werden eingebunden. Die auszuführende Funktion wird zur Laufzeit ausgewählt. Dies erstellt ein größeres Executable, läuft jedoch auf allen CPUs so schnell wie möglich.
Alle anderen Optionen : Es werden nur die Funktionen für eine spezifische CPU eingebunden. Das Executable wird auf keiner CPU laufen, die dieses Feature nicht unterstützt.
Hinweis: Derzeit unterstützen keine PB-Funktionen dieses Feature (es wird bei ihnen ignoriert). Jedoch besitzen einige User-Libraries solche Optimierungen.
Linker-Optionen Datei
Hier kann eine Text-Datei definiert werden mit weiteren Kommandozeilen-Optionen, welche beim Erstellen des Executable an den Linker übergeben werden sollen. Die Datei sollte eine Option pro Zeile enthalten.
Kompilieren/Starten
Dieser Bereich beinhaltet Optionen, welche beeinflussen, wie das Executable zum Testen von der IDE aus gestartet wird. Mit Ausnahme der Werkzeuge-Option haben diese keinen Effekt, wenn der Menüpunkt "Executable erstellen" verwendet wird. Debugger einschalten
Dies legt den Debugger-Status (ein/aus) für diesen Quellcode fest, oder - wenn die Haupt-Quellcode Option verwendet wird - auch für diese Datei. Diese Einstellung kann auch über das Debugger-Menü gesetzt werden.
Purifier einschalten
Dies aktiviert die Purifier-Unterstützung für den Debugger. Der Purifier kann bestimmte Arten von Programmierfehlern erkennen, wie z.B. das Schreiben über das Ende eines reservierten Speicherbereichs hinaus. Siehe Eingebaute Debugger-Werkzeuge für weitere Details.
Verwende ausgewählten Debugger
Dies ermöglicht, einen anderen Debugger-Typen nur für diese Datei zu wählen. Wenn diese Option deaktiviert ist, wird der Standard-Debugger verwendet, welcher in den Einstellungen festgelegt werden kann.
Verwende Warnungs-Modus
Dies ermöglicht es, nur für diese Datei einen anderen Warnungs-Modus zu wählen. Wenn diese Option deaktiviert ist, wird die Standardeinstellung verwendet, welche in den Einstellungen definiert werden kann. Die möglichen Optionen sind:
Warnungen ignorieren: Warnungen werden ignoriert, ohne dass etwas angezeigt wird.
Warnungen anzeigen: Warnungen werden im Fehlerprotokoll angezeigt und die Quellcode-Zeile wird markiert, aber das Programm läuft weiter.
Warnungen als Fehler behandeln: Eine Warnung wird wie ein Fehler behandelt.
Executable-Kommandozeile
Die hier eingegebene Zeichenfolge wird als Kommandozeile an das Programm übergeben, wenn dieses von der IDE gestartet wird.
Aktuelles Verzeichnis
Das hier angegebene Verzeichnis wird als das gültige Verzeichnis für das Programm vorgemerkt, wenn dieses von der IDE aus gestartet wird.
Temporäres Executable im Quellcode-Verzeichnis erstellen
Mit dieser Option eingeschalten, wird das temporäre Executable - für das Starten des Programms von der IDE aus - innerhalb des Quellcode-Verzeichnisses platziert. Dies kann nützlich sein, wenn das Programm zum Testen von Dateien im Quellcode-Verzeichnis abhängt. Mit dieser Option ausgeschalten, wird das Executable im Temporären Verzeichnis des Systems erstellt.
Werkzeuge ausführen
Hier können Externe Werkzeuge auf einer pro-Quellcode Basis aktiviert werden. Die Spalte "Globale Einstellungen" zeigt, ob das Werkzeug in der Werkzeuge Konfiguration aktiviert oder deaktiviert ist. Ein Werkzeug wird auf den Quellcode nur dann ausgeführt, wenn beides - sowohl die globale Einstellung als auch die Einstellung für diesen Quellcode - aktiviert ist.
Hinweis. Für ein hier aufgelistetes Werkzeug muss es die "Werkzeug auf einer pro-Quellcode Basic aktivieren" Option in Werkzeuge konfigurieren aktiviert haben und muss durch einen mit der Quellcode-Datei verbundenen Auslöser ausgelöst werden (d.h. nicht durch das Menü oder eine Editor-Startdatei zum Beispiel).
Konstanten
In diesem Abschnitt können eine Reihe spezieller Editor-Konstanten wie auch selbst definierte Konstanten eingestellt werden, welche beim Kompilieren dieses Quellcodes vor-definiert werden. #PB_Editor_CompileCount
Wenn aktiviert enthält dieses Konstante die Anzahl, wie oft der Code von der IDE aus kompiliert wurde (sowohl mit "Kompilieren/Starten" als auch "Executable erstellen"). Der Zähler kann im Eingabefeld manuell geändert werden.
#PB_Editor_BuildCount
Wenn aktiviert enthält diese Konstante die Anzahl, wie oft der Code nur mit "Executable erstellen" kompiliert wurde. Der Zähler kann im Eingabefeld manuell geändert werden.
#PB_Editor_CreateExecutable
Wenn aktiviert enthält diese Konstante einen Wert von 1, wenn der Code mit dem Menüpunkt "Executable erstellen" kompiliert wurde - bzw. 0, wenn "Kompilieren/Starten" verwendet wurde.
Eigene Konstanten
Hier können eigene Konstanten definiert werden und dann einfach mittels Häkchen ein- und ausgeschaltet werden. Konstanten-Definitionen können so hinzugefügt werden, wie sie sonst auch innerhalb des Quellcodes geschrieben werden. Dies bietet eine Möglichkeit, bestimmte Features in einem Programm zu aktivieren oder deaktivieren, indem hier eine Konstante definiert wird und diese anschließend im Quellcode überprüft wird, um einzelne Features mit CompilerIf/CompilerEndIf zu aktivieren bzw. deaktivieren.
Innerhalb der Definition dieser Konstanten können Umgebungsvariablen verwendet werden, indem diese in einem "bash"-ähnlichen Stil mit einem vorangestellten "$" definiert werden. Die Umgebungsvariable wird in der Konstanten-Definition vor dem Kompilieren ersetzt. Dies ermöglicht die Übergabe bestimmter Optionen des Betriebssystems, auf dem der Code kompiliert wird, an das Programm in Form von Konstanten.
Beispiel: #Creator=$USERNAME
Hier wird $USERNAME durch den Benutzernamen des Anwenders ersetzt, welcher auf dem aktuellen Windows System angemeldet ist. Wenn eine Umgebungsvariable nicht existiert, wird diese durch einen leeren String ersetzt.
Hinweis: Um innerhalb des Quellcodes zu testen, ob eine Konstante definiert ist oder nicht, kann die Compiler-Funktion Defined() verwendet werden.
Versions-Informationen
Durch Aktivieren dieses Felds wird eine Ressource mit Informationen über Ihr Programm in das Executable eingebunden. Diese können im Windows-Explorer durch einen Rechtsklick auf das Executable und Auswahl von "Eigenschaften" angesehen werden. Sie können auch von anderen Programmen, wie z.B. Setup-Tools, ausgelesen werden.
Mit einem * markierte Felder werden benötigt, wenn Sie die Versions-Info einbinden möchten. (Wenn nicht alle benötigten Felder ausgefüllt wurden, werden die Informationen auf einigen Windows-Versionen möglicherweise nicht korrekt dargestellt.)
Die ersten beiden Felder MÜSSEN aus 4 durch Komma getrennte Zahlen bestehen. Alle anderen Felder können eine beliebige Zeichenfolge (Strings) enthalten. In den 3 leeren Eingabefeldern können Sie Ihre eigenen Felder zum Einbinden in den Versions-Info-Block definieren.
In allen String-Feldern können Sie spezielle Zeichen (Token) einbinden, welche beim Kompilieren ersetzt werden:
%OS : wird ersetzt durch die beim Kompilieren des Programms verwendete Windows-Version
%SOURCE : wird ersetzt mit dem Dateinamen (ohne Pfad) der Quellcode-Datei.
%EXECUTABLE : wird ersetzt mit dem Namen des erstellten Executable (dies funktioniert nur, wenn "Executable erstellen" verwendet wird, nicht mit "Kompilieren/Starten".
%COMPILECOUNT : wird ersetzt mit dem Wert der #PB_Editor_CompileCount Konstante.
%BUILDCOUNT : wird ersetzt mit dem Wert der #PB_Editor_BuildCount Konstante.
Weiterhin können Sie alle beim Befehl FormatDate() aufgelisteten Tokens verwenden. Diese Tokens werden ersetzt durch ihre entsprechende Bedeutung beim FormatDate() Befehl unter Einbeziehung des Zeitpunkts der Kompilierung (z.B. ergibt %yy das Jahr der Kompilierung).
Bedeutung der 3 unteren Felder:
Datei-OS
Gibt das OS an, für welches dieses Programm kompiliert wurde.
(Die Benutzung von VOS_DOS oder VOS_WINDOWS16 machen nicht viel Sinn. Sie sind nur enthalten, um eine vollständige Liste zu haben.)
Datei-Typ
Typ des Executable. (Hier machen nur VFT_UNKNOWN, VFT_APP oder VFT_DLL wirklich Sinn für PB-Programme.)
Sprache
Gibt die Sprache an, in welcher diese Versions-Info geschrieben wurde.
Auf die Werte der Felder kann bei der Kompilierung des Programms aus der IDE mit den folgenden Konstanten (gleiche Reihenfolge) zugegriffen werden:#PB_Editor_FileVersionNumeric #PB_Editor_ProductVersionNumeric #PB_Editor_CompanyName #PB_Editor_ProductName #PB_Editor_ProductVersion #PB_Editor_FileVersion #PB_Editor_FileDescription #PB_Editor_InternalName #PB_Editor_OriginalFilename #PB_Editor_LegalCopyright #PB_Editor_LegalTrademarks #PB_Editor_PrivateBuild #PB_Editor_SpecialBuild #PB_Editor_Email #PB_Editor_Website
Ressourcen
Hier können Sie so viele Ressource-Skripte (*.rc Dateien) einbinden, wie Sie möchten. Sie werden kompiliert und in das Executable eingebunden. Sie können jeden Ressourcen-Editor (zum Beispiel die PellesC IDE) verwenden, um solche Skripte zu erstellen.
Hinweis: Da Ressourcen spezifisch für die Windows-Plattform sind, wird von PB keine Library zu deren Verwaltung eingebunden. Daher sind diese hier auch nicht weiter dokumentiert. Sehen Sie in die Dokumentation der Windows API über Ressourcen für weitere Informationen.
Compiler-Optionen für Projekte
Die Compiler-Optionen für Projekte ermöglichen die Definition mehrerer Kompilier-Ziele. Jedes Ziel ist im Grunde ein Set von Compiler-Optionen mit einer bestimmten Quelldatei und Ausgabe-Executable. Die linke Seite des Compiler-Optionen Fensters ist erweitert um die Liste von definierten Kompilier-Zielen. Die Werkzeugleiste darüber ermöglicht das Erstellen, Löschen, Kopieren, Bearbeiten und Verschieben von Zielen in der Liste.
Das Standard-Ziel ist dasjenige, welches beim Auswählen des Menüeintrags "Kompilieren/Starten" kompiliert wird. Dies kann schnell umgeschalten werden mittels dem "Als Standard-Ziel festlegen" Häkchen-Schalter oder über das Compiler-Menü. Die Option "In 'Alle Ziele erstellen' einschalten" gibt an, ob beim Verwenden des 'Alle Ziele erstellen' Menüeintrags das ausgewählte Ziel erstellt wird oder nicht.
Die rechte Seite der Compiler-Optionen ist nahezu identisch wie im Nicht-Projekt-Modus und reflektiert die Einstellungen für das Kompilier-Ziel, welches aktuell im linken Bereich ausgewählt ist. Die einzigen Unterschiede sind die Felder "Eingabe-Quellcode" und "Ausgabe-Executable" in der ersten Registerkarte. Diese Felder müssen für alle Kompilier-Ziele angegeben werden. Davon abgesehen sind die Compiler-Optionen identisch zu den weiter oben beschriebenen.
Im Projekt-Modes werden die Informationen über das Kompilier-Ziel in der Projekt-Datei gespeichert und nicht in den individuellen Quellcode-Dateien. Informationen, welche zur Datei gehören (wie z.B. der Status der Faltung), werden trotzdem für die individuellen Quellcode-Dateien an dem Platz gespeichert, wie dies in den Einstellungen angegeben wurde.
Das Erstellungs-Fortschritts-Fenster
Wenn der Menüeintrag 'Alle Ziele erstellen' bei einem geöffneten Projekt ausgewählt wird, werden alle Ziele (die die korrespondierende Option in den Compiler-Optionen gesetzt haben) in der Reihenfolge kompiliert, wie sie in den Compiler-Optionen definiert wurden. Das Fortschritts-Fenster zeigt den aktuellen Kompilier-Fortschritt wie auch den Status jedes einzelnen Ziels. Sobald der Prozess abgeschlossen ist, kann das Erstellungs-Protokoll ("Build-Log") in die Zwischenablage oder auf Disk gespeichert werden.