It makes use of the GNU binutils programming tools as backends and can produce console and graphical/GUI executables, besides dynamic and static libraries. FreeBASIC fully supports the use of C libraries and 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 compilation and file inclusion. However it is not a true preprocessor as it occurs at the same time as parsing. This means that it can access symbol information, and even set the dialect (which restarts parsing)