Startseite › Sprachübergreifende Referenz › Allgemeine Referenz Hilfe zum PBXB64-Compiler

PBXB64 - Befehlszeilenoptionen

PBXB64 akzeptiert Quelldateien in jeder unterstützten Sprache (.pb, .bas, .b64, .c, .h, .asm, .pil) in einer einzigen Befehlszeile. Flags steuern Ausgangsstufen, Optimierung, Diagnose und den C-Präprozessor. Für jede Option unten gibt es eine eigene Detailseite mit Beschreibungen im ausgegebenen Format und echten Beispielausgaben.

Kategorie: Allgemeine Referenz

Beschreibung

PBXB64 [options] <input files>

PBXB64 akzeptiert Quelldateien in jeder unterstützten Sprache (.pb, .bas, .b64, .c, .h, .asm, .pil) in einer einzigen Befehlszeile. Flags steuern Ausgangsstufen, Optimierung, Diagnose und den C-Präprozessor. Für jede Option unten gibt es eine eigene Detailseite mit Beschreibungen im ausgegebenen Format und echten Beispielausgaben.

Ausgabesteuerung

OptionBeschreibung
-o <file>Legen Sie den Pfad für die ausführbare Ausgabedatei/das Objekt/die Assembly fest
-cNur kompilieren – COFF-Objektdatei erstellen (.obj)
-SNach Assemblygenerierung anhalten (.asm)
--emit-ast, --dump-astAST-Dump ausgeben (derzeit begrenzt für native Frontends)
--emit-irIR-Dump ausgeben und nach dem Frontend stoppen
--dump-irSidecar-IR-Dump ausgeben und mit dem Kompilieren fortfahren
--dump-ir-before=<pass>IR-Dump unmittelbar vor dem benannten Optimierungsdurchlauf ausgeben
--dump-ir-after=<pass>IR-Dump unmittelbar nach dem benannten Optimierungsdurchlauf ausgeben
--emit-asmAssemblyliste ausgeben
--emit-objObjektdateiemission erzwingen (Alias ​​für-c)
--emit-mapLinker-Map-Datei ausgeben
--emit-mirIn Kombination mit wird ein MIR-Dump ausgegeben--emit-asm / -S
--asm:<path>Speichern Sie die generierte Baugruppe in einer Datei und fahren Sie fort
--dump-tokensLexer-Token-Stream ausgeben (geparst, noch nicht ausgegeben)

Pipeline-Steuerung

OptionBeschreibung
-fsyntax-only, --syntax-only
--stop-after=<stage>
--print-pipelineDruckfähige Optimierungsdurchgänge

Überprüfung und Fehlerbehebung

OptionBeschreibung
--verify-irFühren Sie den IR-Verifizierer aus
--verify-mir, --verify-machineFühren Sie den MIR-Verifizierer aus
--verify-after-each-passÜberprüfen Sie die IR nach jedem Optimierungsdurchlauf
--trace-passesPassnamen werden während der Ausführung gedruckt
-g, --debugDebuginformationen ausgeben
--time-stagesZeiterfassungsphasen
--statsDrucken Sie IR/MIR-Statistiken

Optimierungsstufen

OptionBeschreibung
-O0Keine Optimierung (Standard, schnellste Kompilierung, debug-freundlich)
-O1Grundlegende Optimierungen: Eliminierung von totem Code, konstante Faltung
-O2Aggressiv: Inlining, mem2reg, GVN, CSE, Kraftreduzierung
-O3Maximale Optimierung (kann die Binärgröße erhöhen)
--NoOptAlle Optimierungen deaktivieren (Alias ​​für-O0)

Targeting und Verlinkung

OptionBeschreibung
--target <triple>Ziel-Triple festlegen (Standard:x86_64-w64-windows-gnu)
--entry <symbol>Überschreiben Sie das Standard-Einstiegspunktsymbol
-gui, --guiWindows-GUI-Subsystem im PE-Header erzwingen
-con, --consoleWindows-Konsolen-Subsystem im PE-Header erzwingen
--crt=<mode>Wählen Sie die CRT-Richtlinie aus:auto|ucrt|msvcrt|none
--no-default-crtDeaktivieren Sie automatische CRT-Importe

Information

OptionBeschreibung
-v, --verboseKompilierungsschritte und -pfade anzeigen
--versionCompilerversion drucken und beenden
-h, --helpPrägnante Hilfe anzeigen und beenden

Präprozessor (C-Frontend)

OptionBeschreibung
-ENur Vorverarbeitung – erweiterte Quelle ausgeben
-I <path>Benutzer hinzufügen, Suchpfad einschließen
-isystem <path>System-Include-Pfad hinzufügen (unterdrückt Warnungen)
-DNAMEMakro definierenNAME=1
-DNAME=valueDefinieren Sie ein Makro mit explizitem Wert
-UNAMEDefinieren Sie zuvor definierte Makros
-std=<mode>C-Standard auswählen:c89|c99|c11|c17|gnu*(Standardc17)
-ffreestandingFreistehende Umgebung
-fhostedGehosteter C-Modus (Standard)
-fno-builtinDeaktivieren Sie integrierte Funktionsoptimierungen

Diagnose

OptionBeschreibung
-WallAktivieren Sie alle allgemeinen Warnungen
-WextraAktivieren Sie zusätzliche Warnungen
-WerrorBehandeln Sie Warnungen als Fehler
-pedanticStrikte Einhaltung von Standards
V10-Tipp:Kombinieren-E -I core/include/c17 -DDEBUG=1 program.cum die vorverarbeitete Ausgabe zu überprüfen oder zu verwenden--emit-ir sample.cum die vom Frontend erzeugte IR zu überprüfen.