Home › Cross-Language Reference › General Reference PBXB64 Compiler Help

PBXB64 - Command-Line Options

Chapter: General Reference

Description

PBXB64 [options] <input files>

Output Control

OptionDescription
-o <file>Set output executable path (default: a.exe)
-cCompile only - produce object file (.obj), skip linking
-SStop after assembly generation (.asm)
--emit-ast, --dump-astEmit AST dump to stdout for debugging
--emit-ir, --dump-irEmit IR dump to stdout
--emit-asmEmit assembly listing to stdout
--emit-objForce object file emission (alias for -c)
--emit-mapEmit map file
--emit-mirEmit MIR dump to stdout
--asm:<path>Save generated assembly to file, then continue compiling and linking
--dump-tokensDump lexer token stream to stdout

Preprocessor (V8 Enhanced)

OptionDescription
-EPreprocess only - output expanded source to stdout
-I <path>Add user include search path (checked first)
-isystem <path>Add system include path (suppresses warnings)
-DNAMEDefine macro NAME=1
-DNAME=valueDefine macro with explicit value
-UNAMEUndefine previously defined macro
-std=c17Enable C17 standard mode (default in V8)
-ffreestandingFreestanding environment (no runtime dependencies)
-fhostedHosted C mode (default)
-fno-builtinDisable builtin functions

Optimization Levels

OptionDescription
-O0No optimization (default, fastest compile, debug-friendly)
-O1Basic optimizations: dead code elimination, constant folding
-O2
-O3Maximum optimization (may increase binary size)
--NoOptDisable all optimizations (alias for -O0)

Diagnostics

OptionDescription
-WallEnable all common warnings
-WextraEnable extra warnings
-WerrorTreat warnings as errors
-pedanticStrict standard compliance

Target & General Options

OptionDescription
--target <triple>Set target triple (default: x86_64-w64-windows-gnu)
--entry <symbol>Override default entry point symbol
-v, --verboseVerbose output - show compilation steps and paths
--versionPrint compiler version and exit
-g, --debugEmit debug information
--time-stagesTime compilation stages
V8 Tip: Combine -E -I core/include/c17 -DDEBUG=1 program.c to inspect preprocessed output with custom macros and headers.