Programmer's Guide
FreeBASIC programmer's guide.
Work in Progress: New pages created for this guide should use the ProPg* prefix.
Getting Started
Source Files
Lexical Conventions
Variables and Datatypes
Declarations
User Defined Types
Source Files
Source Files (.bas)
Header Files (.bi)
Using Prebuilt Libraries
Manage Reusable Procedures by Including Source vs Compiled Modules
Header Files (.bi)
Using Prebuilt Libraries
Manage Reusable Procedures by Including Source vs Compiled Modules
Lexical Conventions
Variables and Datatypes
Constants and Enumerations
Numeric Types
Strings (string, zstring, and wstring)
Coercion and Conversion
Constants
Variables
Arrays
Pointers
References
Numeric Types
Strings (string, zstring, and wstring)
Coercion and Conversion
Constants
Variables
Arrays
Pointers
References
Declarations
Implicit Declarations
Initialization
Storage Classes
Variable Scope
Simple Variable Lifetime vs Scope
Dynamic Object and Data Lifetime
Namespaces
Variable and Procedure Linkage
Initialization
Storage Classes
Variable Scope
Simple Variable Lifetime vs Scope
Dynamic Object and Data Lifetime
Namespaces
Variable and Procedure Linkage
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
(And topics that need to get placed elsewhere)
Technical Articles
NOTE: Existing CatPg pages should be recreated as ProPg pages providing a general overview to the grouping of keywords.
Differences between Expressions and Statements
Constant Expressions
Assignments
Operator List
Operator Precedence
Control Flow Statements
Constant Expressions
Assignments
Operator List
Operator Precedence
Control Flow Statements
Procedures
Procedures Overview
Passing Arguments to Procedures
Returning Values
Procedure Scopes
Calling Conventions
Recursion
Callback
Constructors and Destructors
Pointers to Procedures
Variadic Arguments
Passing Arguments to Procedures
Returning Values
Procedure Scopes
Calling Conventions
Recursion
Callback
Constructors and Destructors
Pointers to Procedures
Variadic Arguments
Graphics
FreeBASIC GfxLib overview
Graphics Mode Refresh and Anti-Flickering
Internal Graphics Formats
External Graphics File Formats (page to be completed)
Lite regulation function to be integrated into user loop for FPS control
Fine-grain procedure for waiting and in-loop procedure for fine-regulating FPS
Graphics Mode Refresh and Anti-Flickering
Internal Graphics Formats
External Graphics File Formats (page to be completed)
Lite regulation function to be integrated into user loop for FPS control
Fine-grain procedure for waiting and in-loop procedure for fine-regulating FPS
Multi-Threading
Making Binaries
Executables
Static Libraries
Shared Libraries (DLLs)
Profiling with fb's profiler
Profiling for gmon/gprof
Static Libraries
Shared Libraries (DLLs)
Profiling with fb's profiler
Profiling for gmon/gprof
Preprocessor
Other Topics
(And topics that need to get placed elsewhere)
ASCII
Date Serials
Radians
Error Handling
Event Handling
Intrinsic Defines
Identifier Look-ups in namespaces and types
Date Serials
Radians
Error Handling
Event Handling
Intrinsic Defines
Identifier Look-ups in namespaces and types
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
NOTE: Existing CatPg pages should be recreated as ProPg pages providing a general overview to the grouping of keywords.
Back to Table of Contents