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 <
http://www.gnu.org/li-
censes/gpl.html>. 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 (
[email protected])
FreeBASIC Compiler 1.10.1 2023-05-20 FBC(1)