About the FreeBASIC project.
The FreeBASIC project is a set of cross-platform development tools initially created by Andre Victor. It consists of the self-hosting
fbc compiler, target assembler/linker/archive tools, the runtime library, the portable gfxlib2 graphics runtime, the optional GPU-oriented gfxlib3 runtime, and the sfxlib sound runtime.
The current source tree contains native or cross-target support for DOS, Windows, Windows CE, Linux, Android, JavaScript/Emscripten, Darwin/macOS, Cygwin, FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Haiku, Solaris, illumos, NuttX, RISC OS, AROS, Wii homebrew, and the original Xbox. Supported CPU families include x86, x86-64, ARM, AArch64, PowerPC, RISC-V, s390x, LoongArch64, m68k, and MIPS. Package availability and runtime completeness vary by target;
-target and the platform guides record the current boundaries.
The project also contains thin bindings (header files) for the C runtime and many third-party libraries and operating-system APIs. A binding supplies declarations, but the matching external library still has to be installed for the selected target. See
External Library Bindings and the examples supplied with the source tree.
FreeBASIC is a high-level programming language supporting procedural, object-oriented and meta-programming paradigms, with a syntax compatible to
Microsoft QuickBASIC. In fact, the FreeBASIC project originally began as an attempt to create a code-compatible, free alternative to QuickBASIC, but it has since grown into a powerful development tool. FreeBASIC can be seen to extend the capabilities of QuickBASIC in a number of ways, supporting more data types, language constructs, programming styles, and modern platforms and APIs.