Table of Contents
Language Documentation
.
_
__DATE__
__DATE_ISO__
__FB_64BIT__
__FB_ANDROID__
__FB_ARG_COUNT__
__FB_ARG_EXTRACT__
__FB_ARG_LEFTOF__
__FB_ARG_LISTEXPAND__
__FB_ARG_RIGHTOF__
__FB_ARGC__
__FB_ARGV__
__FB_ARM__
__FB_ASM__
__FB_BACKEND__
__FB_BIGENDIAN__
__FB_BUILD_DATE__
__FB_BUILD_DATE_ISO__
__FB_BUILD_FORK_ID__
__FB_BUILD_SHA1__
__FB_CYGWIN__
__FB_DARWIN__
__FB_DEBUG__
__FB_DOS__
__FB_ERR__
__FB_EVAL__
__FB_FPMODE__
__FB_FPU__
__FB_FREEBSD__
__FB_GCC__
__FB_GUI__
__FB_IIF__
__FB_JOIN__
__FB_JS__
__FB_LANG__
__FB_LINUX__
__FB_MAIN__
__FB_MIN_VERSION__
__FB_MT__
__FB_NETBSD__
__FB_OPENBSD__
__FB_OPTIMIZE__
__FB_OPTION_BYVAL__
__FB_OPTION_DYNAMIC__
__FB_OPTION_ESCAPE__
__FB_OPTION_EXPLICIT__
__FB_OPTION_GOSUB__
__FB_OPTION_PRIVATE__
__FB_OPTION_PROFILE__
__FB_OUT_DLL__
__FB_OUT_EXE__
__FB_OUT_LIB__
__FB_OUT_OBJ__
__FB_PCOS__
__FB_PPC__
__FB_PROFILE__
__FB_QUERY_SYMBOL__
__FB_QUOTE__
__FB_SIGNATURE__
__FB_SSE__
__FB_UNIQUEID__
__FB_UNIQUEID_POP__
__FB_UNIQUEID_PUSH__
__FB_UNIX__
__FB_UNQUOTE__
__FB_VECTORIZE__
__FB_VER_MAJOR__
__FB_VER_MINOR__
__FB_VER_PATCH__
__FB_VERSION__
__FB_WIN32__
__FB_X86__
__FB_XBOX__
__FILE__
__FILE_NQ__
__FUNCTION__
__FUNCTION_NQ__
__LINE__
__PATH__
__TIME__
__DATE_ISO__
__FB_64BIT__
__FB_ANDROID__
__FB_ARG_COUNT__
__FB_ARG_EXTRACT__
__FB_ARG_LEFTOF__
__FB_ARG_LISTEXPAND__
__FB_ARG_RIGHTOF__
__FB_ARGC__
__FB_ARGV__
__FB_ARM__
__FB_ASM__
__FB_BACKEND__
__FB_BIGENDIAN__
__FB_BUILD_DATE__
__FB_BUILD_DATE_ISO__
__FB_BUILD_FORK_ID__
__FB_BUILD_SHA1__
__FB_CYGWIN__
__FB_DARWIN__
__FB_DEBUG__
__FB_DOS__
__FB_ERR__
__FB_EVAL__
__FB_FPMODE__
__FB_FPU__
__FB_FREEBSD__
__FB_GCC__
__FB_GUI__
__FB_IIF__
__FB_JOIN__
__FB_JS__
__FB_LANG__
__FB_LINUX__
__FB_MAIN__
__FB_MIN_VERSION__
__FB_MT__
__FB_NETBSD__
__FB_OPENBSD__
__FB_OPTIMIZE__
__FB_OPTION_BYVAL__
__FB_OPTION_DYNAMIC__
__FB_OPTION_ESCAPE__
__FB_OPTION_EXPLICIT__
__FB_OPTION_GOSUB__
__FB_OPTION_PRIVATE__
__FB_OPTION_PROFILE__
__FB_OUT_DLL__
__FB_OUT_EXE__
__FB_OUT_LIB__
__FB_OUT_OBJ__
__FB_PCOS__
__FB_PPC__
__FB_PROFILE__
__FB_QUERY_SYMBOL__
__FB_QUOTE__
__FB_SIGNATURE__
__FB_SSE__
__FB_UNIQUEID__
__FB_UNIQUEID_POP__
__FB_UNIQUEID_PUSH__
__FB_UNIX__
__FB_UNQUOTE__
__FB_VECTORIZE__
__FB_VER_MAJOR__
__FB_VER_MINOR__
__FB_VER_PATCH__
__FB_VERSION__
__FB_WIN32__
__FB_X86__
__FB_XBOX__
__FILE__
__FILE_NQ__
__FUNCTION__
__FUNCTION_NQ__
__LINE__
__PATH__
__TIME__
#
A
B
C
CALL
CALLOCATE
CASE
CAST
CBOOL
CBYTE
CDBL
CDECL
CHAIN
CHDIR
CHR
CINT
CIRCLE
CLASS
CLEAR
CLNG
CLNGINT
CLOSE
CLS
COLOR
COMMAND
COMMON
CONDBROADCAST
CONDCREATE
CONDDESTROY
CONDSIGNAL
CONDWAIT
CONST
CONST (Member)
CONST (Qualifier)
CONSTRUCTOR
CONSTRUCTOR (Module)
CONTINUE
COS
CPTR
CSHORT
CSIGN
CSNG
CSRLIN
CUBYTE
CUINT
CULNG
CULNGINT
CUNSG
CURDIR
CUSHORT
CUSTOM (Graphics PUT)
CVA_ARG
CVA_COPY
CVA_END
CVA_LIST
CVA_START
CVD
CVI
CVL
CVLONGINT
CVS
CVSHORT
CALLOCATE
CASE
CAST
CBOOL
CBYTE
CDBL
CDECL
CHAIN
CHDIR
CHR
CINT
CIRCLE
CLASS
CLEAR
CLNG
CLNGINT
CLOSE
CLS
COLOR
COMMAND
COMMON
CONDBROADCAST
CONDCREATE
CONDDESTROY
CONDSIGNAL
CONDWAIT
CONST
CONST (Member)
CONST (Qualifier)
CONSTRUCTOR
CONSTRUCTOR (Module)
CONTINUE
COS
CPTR
CSHORT
CSIGN
CSNG
CSRLIN
CUBYTE
CUINT
CULNG
CULNGINT
CUNSG
CURDIR
CUSHORT
CUSTOM (Graphics PUT)
CVA_ARG
CVA_COPY
CVA_END
CVA_LIST
CVA_START
CVD
CVI
CVL
CVLONGINT
CVS
CVSHORT
D
DATA
DATE
DATEADD
DATEDIFF
DATEPART
DATESERIAL
DATEVALUE
DAY
DEALLOCATE
DECLARE
DEFBYTE
DEFDBL
DEFINED
DEFINT
DEFLNG
DEFLONGINT
DEFSHORT
DEFSNG
DEFSTR
DEFUBYTE
DEFUINT
DEFULONGINT
DEFUSHORT
DELETE (Statement)
DESTRUCTOR
DESTRUCTOR (Module)
DIM
DIR
DO
DO...LOOP
DOUBLE
DRAW
DRAW STRING
DYLIBFREE
DYLIBLOAD
DYLIBSYMBOL
DATE
DATEADD
DATEDIFF
DATEPART
DATESERIAL
DATEVALUE
DAY
DEALLOCATE
DECLARE
DEFBYTE
DEFDBL
DEFINED
DEFINT
DEFLNG
DEFLONGINT
DEFSHORT
DEFSNG
DEFSTR
DEFUBYTE
DEFUINT
DEFULONGINT
DEFUSHORT
DELETE (Statement)
DESTRUCTOR
DESTRUCTOR (Module)
DIM
DIR
DO
DO...LOOP
DOUBLE
DRAW
DRAW STRING
DYLIBFREE
DYLIBLOAD
DYLIBSYMBOL
E
F
I
K
L
M
O
OBJECT
OCT
OFFSETOF
ON ERROR
ON...GOSUB
ON...GOTO
ONCE
OPEN
OPEN COM
OPEN CONS
OPEN ERR
OPEN LPT
OPEN PIPE
OPEN SCRN
OPERATOR
OPTION()
OPTION BASE
OPTION BYVAL
OPTION DYNAMIC
OPTION ESCAPE
OPTION EXPLICIT
OPTION GOSUB
OPTION NOGOSUB
OPTION NOKEYWORD
OPTION PRIVATE
OPTION STATIC
OR
OR (GRAPHICS PUT)
ORELSE
OUT
OUTPUT
OVERLOAD
OVERRIDE
OCT
OFFSETOF
ON ERROR
ON...GOSUB
ON...GOTO
ONCE
OPEN
OPEN COM
OPEN CONS
OPEN ERR
OPEN LPT
OPEN PIPE
OPEN SCRN
OPERATOR
OPTION()
OPTION BASE
OPTION BYVAL
OPTION DYNAMIC
OPTION ESCAPE
OPTION EXPLICIT
OPTION GOSUB
OPTION NOGOSUB
OPTION NOKEYWORD
OPTION PRIVATE
OPTION STATIC
OR
OR (GRAPHICS PUT)
ORELSE
OUT
OUTPUT
OVERLOAD
OVERRIDE
P
PAINT
PALETTE
PASCAL
PCOPY
PEEK
PMAP
POINT
POINTCOORD
POINTER
POKE
POS
PRESERVE
PRESET
PRINT
PRINT #
PRINT USING
PRIVATE
PRIVATE: (Access Control)
PROCPTR
PROPERTY
PROTECTED: (Access Control)
PSET (Statement)
PSET (Graphics PUT)
PTR (Shortcut for 'POINTER')
PUBLIC
PUBLIC: (Access Control)
PUT (Graphics)
PUT # (File I/O)
PALETTE
PASCAL
PCOPY
PEEK
PMAP
POINT
POINTCOORD
POINTER
POKE
POS
PRESERVE
PRESET
PRINT #
PRINT USING
PRIVATE
PRIVATE: (Access Control)
PROCPTR
PROPERTY
PROTECTED: (Access Control)
PSET (Statement)
PSET (Graphics PUT)
PTR (Shortcut for 'POINTER')
PUBLIC
PUBLIC: (Access Control)
PUT (Graphics)
PUT # (File I/O)
R
S
SADD
SCOPE
SCREEN (Graphics)
SCREEN (Console)
SCREENCOPY
SCREENCONTROL
SCREENEVENT
SCREENGLPROC
SCREENINFO
SCREENLIST
SCREENLOCK
SCREENPTR
SCREENRES
SCREENSET
SCREENSYNC
SCREENUNLOCK
SECOND
SEEK (Statement)
SEEK (Function)
SELECT CASE
SETDATE
SETENVIRON
SETMOUSE
SETTIME
SGN
SHARED
SHELL
SHL
SHORT
SHR
SIN
SINGLE
SIZEOF
SLEEP
SPACE
SPC
SQR
STATIC
STATIC (Member)
STDCALL
STEP
STICK
STOP
STR
STRIG
STRING (Function)
STRING
STRPTR
SUB
SUB (Member)
SUB (Pointer)
SWAP
SYSTEM
SCOPE
SCREEN (Graphics)
SCREEN (Console)
SCREENCOPY
SCREENCONTROL
SCREENEVENT
SCREENGLPROC
SCREENINFO
SCREENLIST
SCREENLOCK
SCREENPTR
SCREENRES
SCREENSET
SCREENSYNC
SCREENUNLOCK
SECOND
SEEK (Statement)
SEEK (Function)
SELECT CASE
SETDATE
SETENVIRON
SETMOUSE
SETTIME
SGN
SHARED
SHELL
SHL
SHORT
SHR
SIN
SINGLE
SIZEOF
SLEEP
SPACE
SPC
SQR
STATIC
STATIC (Member)
STDCALL
STEP
STICK
STOP
STR
STRIG
STRING (Function)
STRING
STRPTR
SUB
SUB (Member)
SUB (Pointer)
SWAP
SYSTEM
T
U
V
W
Y
Variables and Data Types
Assignment operators
Operator =[>] (Assignment)
Operator &= (Concatenate and Assign)
Operator += (Add and Assign)
Operator -= (Subtract and Assign)
Operator *= (Multiply and Assign)
Operator /= (Divide and Assign)
Operator \= (Integer Divide and Assign)
Operator ^= (Exponentiate and Assign)
Operator Let (Assignment)
Operator Let() (Assignment)
Operator Mod= (Modulus and Assign)
Operator And= (Conjunction and Assign)
Operator Eqv= (Equivalence and Assign)
Operator Imp= (Implication and Assign)
Operator Or= (Inclusive Disjunction and Assign)
Operator Xor= (Exclusive Disjunction and Assign)
Operator Shl= (Shift Left and Assign)
Operator Shr= (Shift Right and Assign)
Operator &= (Concatenate and Assign)
Operator += (Add and Assign)
Operator -= (Subtract and Assign)
Operator *= (Multiply and Assign)
Operator /= (Divide and Assign)
Operator \= (Integer Divide and Assign)
Operator ^= (Exponentiate and Assign)
Operator Let (Assignment)
Operator Let() (Assignment)
Operator Mod= (Modulus and Assign)
Operator And= (Conjunction and Assign)
Operator Eqv= (Equivalence and Assign)
Operator Imp= (Implication and Assign)
Operator Or= (Inclusive Disjunction and Assign)
Operator Xor= (Exclusive Disjunction and Assign)
Operator Shl= (Shift Left and Assign)
Operator Shr= (Shift Right and Assign)
Arithmetic operators
Conditional operators
Logical operators
Short circuit operators
Indexing operators
String operators
Preprocessor operators
Pointer operators
Type or Class operators
Memory operators
Iterating operators
Statements
Other
Runtime Library Reference
Array Functions
Bit Manipulation
Console Functions
Date and Time Functions
Error Handling Functions
File IO Functions
Mathematical Functions
Memory Functions
Operating System Functions
String Functions
Threading Support Functions
User Input Functions
Bit Manipulation
Console Functions
Date and Time Functions
Error Handling Functions
File IO Functions
Mathematical Functions
Memory Functions
Operating System Functions
String Functions
Threading Support Functions
User Input Functions
Graphics Library Reference
2D Drawing Functions
User Input Functions
Screen Functions
Supported graphics drivers (backends)
Keyboard Scan Codes
Default Palettes
User Input Functions
Screen Functions
Supported graphics drivers (backends)
Keyboard Scan Codes
Default Palettes
Tutorials
Getting Started
Source Files
Lexical Conventions
Variables and Datatypes
Pointers
References
Declarations
User Defined Types
Overview
Type Aliases
Temporary Types
Type (UDT/Alias/Temporary) and Union
Constructors and Destructors (basics)
Member Procedures
Properties
Variable-length member data
Member Access Rights and Encapsulation
Operator Overloading
Iterators
New and Delete
Types as Objects
Composition, Aggregation, Inheritance
Inheritance Polymorphism
Constructors, '=' Assignment-Operators, and Destructors (advanced, part #1)
Constructors, '=' Assignment-Operators, and Destructors (advanced, part #2)
Type Aliases
Temporary Types
Type (UDT/Alias/Temporary) and Union
Constructors and Destructors (basics)
Member Procedures
Properties
Variable-length member data
Member Access Rights and Encapsulation
Operator Overloading
Iterators
New and Delete
Types as Objects
Composition, Aggregation, Inheritance
Inheritance Polymorphism
Constructors, '=' Assignment-Operators, and Destructors (advanced, part #1)
Constructors, '=' Assignment-Operators, and Destructors (advanced, part #2)
Statements and Expressions
Procedures
Graphics
Multi-Threading
Making Binaries
Preprocessor
Other Topics
Technical Articles
Inline ASM
C Standard Library Functions
File I/O with FreeBASIC
Dynamic memory management with FreeBASIC
Replace Recursion with Iteration
OBJECT built-in and RTTI info
Embed and Access binary Data in Executable
Use Implicit / Overload New([]) and Delete([]) Operators with Inheritance Polymorphism
Emulate a TLS (Thread Local Storage) and a TP (Thread Pooling) feature
C Standard Library Functions
File I/O with FreeBASIC
Dynamic memory management with FreeBASIC
Replace Recursion with Iteration
OBJECT built-in and RTTI info
Embed and Access binary Data in Executable
Use Implicit / Overload New([]) and Delete([]) Operators with Inheritance Polymorphism
Emulate a TLS (Thread Local Storage) and a TP (Thread Pooling) feature
External Libraries Index
Graphics
Music/Sound, Audio/Video
Database
Development Helpers
System APIs
Using the FreeBASIC compiler
Command Line Options
Compiler Error Messages
Tools used by fbc
Installing gcc for -gen gcc
@< file >
-a < name >
-arch < type >
-asm < format >
-b < name >
-buildprefix
-c
-C
-d < name=val >
-dll
-dylib
-e
-earray
-earraydims
-eassert
-edebug
-edebuginfo
-elocation
-entry < name >
-enullptr
-eunwind
-ex
-exx
-export
-forcelang <name>
-fpmode < type >
-fpu < type >
-g
-gen < backend >
-i < name >
-include < name >
-l < name >
-lang < name >
-lib
-m < name >
-map < name >
-maxerr < val >
-mt
-nodeflibs
-nolib < name(s) >
-noerrline
-noobjinfo
-nostrip
-o < name >
-O < level >
-p < name >
-pic
-pp
-prefix < path >
-print < option >
-profgen
-profile
-r
-R
-rr
-RR
-s < name >
-showincludes
-static
-strip
-sysroot < path >
-t < value >
-target < platform >
-v
-vec < level >
-version
-w < value >
-Wa < opt >
-Wc < opt >
-Wl < opt >
-x < name >
-z < value >
Debugging with FreeBASIC-a < name >
-arch < type >
-asm < format >
-b < name >
-buildprefix
-c
-C
-d < name=val >
-dll
-dylib
-e
-earray
-earraydims
-eassert
-edebug
-edebuginfo
-elocation
-entry < name >
-enullptr
-eunwind
-ex
-exx
-export
-forcelang <name>
-fpmode < type >
-fpu < type >
-g
-gen < backend >
-i < name >
-include < name >
-l < name >
-lang < name >
-lib
-m < name >
-map < name >
-maxerr < val >
-mt
-nodeflibs
-nolib < name(s) >
-noerrline
-noobjinfo
-nostrip
-o < name >
-O < level >
-p < name >
-pic
-pp
-prefix < path >
-print < option >
-profgen
-profile
-r
-R
-rr
-RR
-s < name >
-showincludes
-static
-strip
-sysroot < path >
-t < value >
-target < platform >
-v
-vec < level >
-version
-w < value >
-Wa < opt >
-Wc < opt >
-Wl < opt >
-x < name >
-z < value >
Compiler Error Messages
Tools used by fbc
Installing gcc for -gen gcc
FreeBASIC dialects and QBASIC
FAQs
Compiler FAQ
Graphics Library FAQ
Runtime Library FAQ
Xbox port FAQ
DOS related FAQ
Windows related FAQ
Linux related FAQ
Graphics Library FAQ
Runtime Library FAQ
Xbox port FAQ
DOS related FAQ
Windows related FAQ
Linux related FAQ
Miscellaneous
Obsolete Keywords
Glossary
Miscellaneous Keywords
C Standard Library Functions
ASCII Character Codes
Runtime Error Codes
C/C++ vs. FreeBASIC syntax comparison
C/C++ vs. FreeBASIC integer data type comparison
Glossary
Miscellaneous Keywords
C Standard Library Functions
ASCII Character Codes
Runtime Error Codes
C/C++ vs. FreeBASIC syntax comparison
C/C++ vs. FreeBASIC integer data type comparison
Hacking on FreeBASIC