Welcome to FreeBASIC

When used in its "QB" language mode, FreeBASIC provides a high level of support for programs
written for QuickBASIC. Many programs written for QuickBASIC will compile and run in this mode
with no changes needed. However, for compilation in the FreeBASIC default language mode,
most substantial programs will require changes.

Compatible

Powerful

Expressive

100% Free Software

Simple Example showing procedures.

function AddNumbers( a asinteger, b asinteger)asinteger

return a + b

endfunction

sub hello()

print"hello"

endsub

declaresub myprint( num asinteger)

'Code outside any procedures is the main part of the program

hello()

print AddNumbers(1, 1)

myprint 5

sub myprint( num asinteger)

print num

endsub

FreeBASIC is a self-hosting compiler which makes use of the GNU binutils programming tools as
backends and can produce console, graphical/GUI executables, dynamic and static libraries.
FreeBASIC fully supports the use of C libraries and has partial C++ library support. This lets
programmers use and create libraries for C and many other languages. It supports a C style
preprocessor, capable of multiline macros, conditional compiling and file inclusion.

FreeBASIC has been rated close in speed with mainstream tools, such as GCC.

More about FreeBASIC

The FreeBASIC project is a set of cross-platform development tools, consisting of a compiler,
GNU-based assembler, linker and archiver, and supporting runtime libraries, including a software-based
graphics library. The compiler, fbc, currently supports building for i386-based architectures on the DOS,
Linux, Windows and Xbox platforms. The project also contains thin bindings (header files) to some popular
3rd party libraries such as the C runtime library, Allegro, SDL, OpenGL, GTK+, the Windows API and many
others, as well as example programs for many of these libraries.

FreeBASIC is a high-level programming language supporting procedural, object-orientated 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 Microsoft QuickBASIC, but it has since grown into a powerful development tool. FreeBASIC
can be seen to extend the capabilities of Microsoft QuickBASIC in a number of ways, supporting
more data types, language constructs, programming styles, and modern platforms and APIs.