Command-Line Options Reference

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-astEmit AST dump to stdout for debugging
--emit-irEmit IR dump to stdout
--emit-asmEmit assembly listing to stdout
--emit-objForce object file emission (alias for -c)

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)

Optimization Levels

OptionDescription
-O0No optimization (default, fastest compile, debug-friendly)
-O1Basic optimizations: dead code elimination, constant folding
-O2Aggressive: inlining, loop unrolling, register allocation tuning
-O3Maximum optimization (may increase binary size)

Target & General Options

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