FreeBASIC is a 32-bit BASIC dialect and compiler, with syntax similar to Microsoft QuickBASIC (but dramatically modernized), that adds many new features such as pointers, unsigned data types, inline assembly, object orientation, and many others. There is also a mode ('dialect') that is highly compatible with QuickBASIC. FreeBASIC programs can freely link with libraries with a C API.
FreeBASIC has a large number of data types, including pointers, supports both static and dynamic arrays, structured types, enumerations, a robust preprocessor, inline assembly, and has a slimmed down version of classes similar in style to Delphi's Extended Types. Some of the other features include namespaces, function overloading, Unicode support, variable and array initializers.
FreeBASIC can create standalone executables, DLL's and libraries. GUI applications can be created using several GUI packages such as GTK and IUP, and by using the Windows API. Debugging support is provided with GDB or Insight.
FreeBASIC has an extensive built-in graphics library that provides a number of graphic primitives, multi-buffer screen pages, direct access to the underlying screen pages, 8 to 32-bit color commands, BMP support, and OpenGL context creation.
FreeBASIC has ports to Windows, Linux, FreeBSD, DOS, and the original XBox on 32 bit x86 CPUs. The compiler is written in FreeBASIC, and can compile to either 32-bit x86 assembly or C. Ports to Mac OS X and Android are in progress.
The following roguelikes have been written in FreeBASIC
- About Time (1KBRL)
- Escape From Lab 42
- It's Extremely Dark (1KBRL)
- Pink Ninja
- Zero-Player Game