FreeBASIC — язык программирования высокого уровня
по синтаксису наиболее близкий к QuickBASIC,
а также компилятор для него (FreeBASIC Compiler). Первоначально
компилятор разрабатывался как свободная альтернатива
Microsoft QuickBasic, но быстро оброс новыми возможностями и стал мощным
средством разработки. Первые версии компилятора были написаны на Visual
Basic, но теперь он может откомпилировать сам себя (написан на
FreeBASIC).
Компилятор
Компилирует QBasic и FreeBASIC код в 32-битные исполняемые Win32, DOS (в защищённом режиме) и Linux x86
модули.
Ассемблирование и компоновка производятся с помощью GNU
Binary Utilities.
Компилятор распространяется на условиях GNU GPL, стандартная библиотека — на GNU LGPL.
Имеется несколько сред
разработки, в качестве отладчика может использовать GNU
Debugger (также поддерживается gprof).
Язык
Несмотря на то что компилятор имеет совместимость с QuickBASIC, в
язык FreeBASIC были добавлено множество расширений и возможностей для
соответствия современным требованиям, стандартами и совместимостью с библиотеками и API
написанными на C/C++. Начиная с версии 0.17 пользователь может выбрать
три режима компиляции (опция -lang): режим совместимости с QuickBASIC
(qb), старыми версиями FreeBASIC (deprecated), и стандартный режим,
включающий в себя все последние изменения и возможности.
Новые
возможности и расширения
- Поддержка Unicode.
- Множество встроенных типов переменных (Byte, UByte,
Short, UShort, Integer, UInteger, LongInt, ULongInt, Single, Double,
String, ZString, WString).
- Типы данных определяемые пользователем (бесконечная вложенность,
Union, тип поля (array, function, bit fields)).
- Пространства имён.
- Перечислимый тип
(Enum).
- Новые возможности при работе с массивами (до 2 ГБ размером,
Redim Preserve).
- Указатели (указатели на любые типы
данных, неограниченная косвенная адресация).
- Перегрузка функций и операторов.
- Необязательные аргументы функций.
- Встроенный ассемблер (ассемблерные инструкции в исходном коде программы).
- Препроцессоры.
- Typedefs.
- Конструкторы и деструкторы классов.
- Улучшенная графическая
библиотека.
Используя встроенную библиотеку FreeBASIC:
Используя стандартную библиотеку C:
#Include "crt.bi" puts (!"Hello, World!\n")
Используя Windows API:
#Include "windows.bi" MessageBox (null, !"Hello, World!\n", "Message", MB_OK)
Информация с Википедии.
|