FBC(1) FreeBASIC Compiler FBC(1) NAME fbc - The FreeBASIC compiler DESCRIPTION Compiles FreeBASIC source code files (*.bas) to native code. SYNOPSIS fbc [options] input-files OPTIONS input-files *.a = library, *.o = object, *.bas = source, *.rc = win32 re- source script, *.res = win32 compiled resource, *.xpm = X11 icon resource @file Read more command line arguments from a file -a file Treat file as .o/.a input file -arch type Set target architecture (default: 686) -asm att|intel Set the assembler format for Asm blocks and for code generation (x86 only) -b file Treat file as .bas input file -buildprefix name Specify prefix on tool names (as, ar, ld) -c Compile only, do not link -C Preserve temporary .o files -d name[=val] Add a global #define -dll Same as -dylib -dylib Create a Win32 DLL or Linux/*BSD shared library -e Enable runtime error checking -earray Enable array bounds checking -eassert Enable assert() and assertwarn() checking -edebug Enable __FB_DEBUG__ -edebuginfo Add debug information -elocation Enable full error location reporting -enullptr Enable null-pointer checking -eunwind Enable call stack unwind information -entry name Change the entry point of the program from main() -ex -e plus RESUME support -exx -ex plus array bounds/null-pointer checking -export Export symbols for dynamic linkage -forcelang name Override #lang statements in source code -fpmode fast|precise Select floating-point math accuracy/speed -fpu x87|sse Set target FPU -g Add debug info, enable __FB_DEBUG__, and enable asserts -gen gas|gcc|llvm|as64 Select code generation backend -i path Add an include file search path -include file Pre-#include a file for each input .bas -l name Link in a library -lang name Select FB dialect: fb (default), deprecated, qb, fblite -lib Create a static library -m name Set main module (default if not -c: first input .bas) -map file Save linking map to file -maxerr n Only show n errors -mt Use thread-safe FB runtime -nodeflibs Do not include the default libraries when linking -noerrline Do not show source context in error messages -nolib a,b,c Do not include the specified libraries when linking -noobjinfo Do not read/write compile-time info from/to .o and .a files -nostrip Do not strip symbol information from the output file -o file Set .o file name for corresponding input .bas -O value Optimization level (default: 0) -p path Add a library search path -pic Generate position-independent code (non-x86 Unix shared libs) -pp Write out preprocessed input file (.pp.bas) only -prefix path Set the compiler prefix path -print host|target Display host/target system name -print x Display output binary/library file name (if known) -print sha-1 Display compiler's source code commit sha-1 (if known) -profile Enable function profiling -r Write out .asm (-gen gas) or .c (-gen gcc) only -rr Write out the final .asm only -R Preserve the temporary .asm/.c file -RR Preserve the final .asm file -s console|gui Select win32 subsystem -static Prefer static libraries over dynamic ones when linking -strip Omit all symbol information from the output file -t value Set Win32/DOS .exe stack size in kbytes, default: 1024 -target name Set cross-compilation target -title name Set XBE display title (XBox) -v Be verbose -vec n Automatic vectorization level (default: 0) -version Show compiler version -w all|pedantic|n Set minimum warning level: all, pedantic, or an integer -w all Enable all warnings -w none Disable all warnings -w param Enable parameter warnings -w escape Enable string escape sequence warnings -w next Enable next statement warnings -w signedness Enable type signedness warnings -w constness Enable const type warnings -w suffix Enable warning when up-casting discards initializers -w error Report warnings as errors -w upcast Warn when up-casting discards initializers -Wa a,b,c Pass options to GAS -Wc a,b,c Pass options to GCC (with -gen gcc) -Wl a,b,c Pass options to LD -x file Set output executable/library file name -z gosub-setjmp Use setjmp/longjmp to implement GOSUB -z valist-as-ptr Use pointer expressions to implement CVA_*() macros -z no-thiscall Don't use '__thiscall' calling convention -z no-fastcall Don't use '__fastcall' calling convention -z fbrt Link with 'fbrt' instead of 'fb' runtime library -z retinflts Enable returning some types in floating point registers -z nocmdline Disable #cmdline source directives ENVIRONMENT AS Overrides location of GNU as (assembler) LD Overrides location of GNU ld (linker) GCC Overrides location of gcc (-gen gcc) SEE ALSO The full language specification and help is available in wiki format at https://www.freebasic.net/wiki/ COPYRIGHT Copyright (C) 2004-2023 The FreeBASIC Development Team This is free software. You may redistribute copies of it under the terms of the GNU General Public License . There is NO WARRANTY, to the extent permitted by law. BUGS Any bugs should be reported on the Sourceforge.net tracker located at https://www.sourceforge.net/projects/fbc/ AUTHOR This manpage written by Ebben Feagan (ebben.feagan@gmail.com) FreeBASIC Compiler 1.10.1 2023-05-20 FBC(1)