Журнал о программированнии на языках Blitz3D, BlitzPlus, BlitzMax

Справка:Описание FreeBasic

Материал из Blitz Et Cetera

Перейти к: навигация, поиск

FreeBASIC — язык программирования высокого уровня по синтаксису наиболее близкий к QBasic, а также компилятор для него (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.
  • Конструкторы и деструкторы классов.
  • Улучшенная графическая библиотека.

Ссылки

Другие

Друзья