FreeBASIC

редактировать
Не путать с Free Basics.
FreeBASIC
Fblogo.gif
FreeBasic help.png
Парадигма Процедурный, объектно-ориентированный
Разработано Андре Виктор
Разработчик Команда разработчиков FreeBASIC
Впервые появился 2004 ; 17 лет назад ( 2004)
Стабильный выпуск 1.08.1 / 9 июля 2021 г. ; 3 месяца назад ( 2021-07-09)
Печатная дисциплина Статический
Операционные системы MS-DOS, FreeBSD, Linux, Microsoft Windows
Лицензия GNU GPLv2 +, стандартные библиотеки под лицензией GNU LGPLv2 +
Веб-сайт www.freebasic.net
Под влиянием
QuickBASIC, C

FreeBASIC - это мультиплатформенный, бесплатный / открытый ( GPL ) язык программирования BASIC и компилятор для Microsoft Windows, MS-DOS в защищенном режиме ( расширитель DOS ), Linux, FreeBSD и Xbox. Версия Xbox больше не поддерживается.

Согласно официальному сайту, FreeBASIC обеспечивает совместимость синтаксиса с программами, изначально написанными на Microsoft QuickBASIC (QB). Однако, в отличие от QuickBASIC, FreeBASIC - это компилятор, работающий только из командной строки, если только пользователи вручную не устанавливают внешнюю интегрированную среду разработки (IDE) по своему выбору. IDE, специально созданные для FreeBASIC, включают FBide и FbEdit, в то время как другие графические параметры включают WinFBE Suite и VisualFBEditor.

СОДЕРЖАНИЕ

  • 1 Особенности компилятора
    • 1.1 Синтаксис
    • 1.2 Графическая библиотека
    • 1.3 Языковые диалекты
  • 2 Пример кода
  • 3 ссылки
  • 4 Внешние ссылки

Возможности компилятора

На своей внутренней стороне FreeBASIC использует GNU Binutils для создания консольных приложений и приложений с графическим пользовательским интерфейсом. FreeBASIC поддерживает связывание и создание статических и динамических библиотек C и имеет ограниченную поддержку библиотек C ++. В результате код, скомпилированный в FreeBASIC, можно повторно использовать в большинстве нативных сред разработки.

Поддерживается предварительная обработка в стиле C, включая многострочные макросы, условную компиляцию и включение файлов. Препроцессор также имеет доступ к символьной информации и настройкам компилятора, таким как диалект языка.

Синтаксис

Изначально FreeBASIC максимально точно эмулировал синтаксис Microsoft QuickBASIC. Помимо этого, язык продолжал развиваться. В результате FreeBASIC объединяет несколько языковых диалектов для максимального уровня совместимости с QuickBASIC и полного доступа к современным функциям. Новые функции включают в себя поддержку таких понятий, как объекты, перегрузка операторов, перегрузка функций, пространства имен и других.

Символы новой строки указывают на завершение программных операторов. Оператор программирования может быть распределен по нескольким последовательным строкам с помощью символа продолжения строки подчеркивания (_), тогда как несколько операторов могут быть записаны в одной строке, разделив каждый оператор двоеточием (:).

Поддерживаются блочные комментарии, а также комментарии в конце строки. Комментарии на всю строку делаются с апострофом ', а блоки комментируемого кода начинаются /'и заканчиваются '/.

FreeBASIC не чувствителен к регистру.

Графическая библиотека

FreeBASIC предоставляет встроенную поддержку графики, совместимую с QuickBASIC, через FBgfx, которая автоматически включается в программы, выполняющие вызов SCREENкоманды. Его бэкэнд по умолчанию использует OpenGL в Linux и DirectX в Microsoft Windows. Эта абстракция делает графический код FBgfx кроссплатформенным. Однако FBgfx не имеет аппаратного ускорения.

Пользователи, знакомые с внешними графическими утилитами, такими как OpenGL или Windows API, могут использовать их, не мешая работе встроенной графической библиотеки.

Языковые диалекты

По мере развития FreeBASIC в него вносились изменения, требовавшие нарушения синтаксиса старого стиля. Чтобы продолжить поддержку программ, написанных с использованием старого синтаксиса, FreeBASIC теперь поддерживает следующие диалекты:

  • Диалект по умолчанию ( -lang fb в качестве аргумента командной строки ) поддерживает все новые функции компилятора и запрещает архаичный синтаксис.
  • Диалект FB-lite ( -lang fblite) позволяет использовать большинство новых, не объектно-ориентированных функций в дополнение к программированию в старом стиле. В этом диалекте разрешены неявные переменные, суффиксы, GOSUB / RETURN, числовые метки и другие функции.
  • Диалект QB ( -lang qb) пытается воспроизвести поведение QuickBASIC и может компилировать многие программы QuickBASIC без изменений.

Пример кода

Стандартные программы, такие как «Hello, World!» программы выполнены так же, как и в QuickBASIC.

Print "Hello, World!" sleep:end 'Comment, prevents the program window from closing instantly

FreeBASIC добавляет к этому поддержку объектно-ориентированных функций, таких как методы, конструкторы, динамическое выделение памяти, свойства и временное выделение.

Type Vector  Private: x As Integer y As Integer Public: Declare Constructor (nX As Integer = 0, nY As Integer = 0) Declare Property getX As Integer Declare Property getY As Integer End Type Constructor Vector (nX As Integer, nY As Integer)  x = nX y = nY End Constructor Property Vector.getX As Integer Return x End Property Property Vector.getY As Integer Return y End Property
Dim As Vector Ptr player = New Vector() *player = Typelt;Vectorgt;(100, 100) Print player-gt;getX Print player-gt;getY Delete player Sleep 'Prevents the program window from closing instantly

В обоих случаях язык хорошо подходит для учебных целей.

использованная литература

внешние ссылки

Иды
Последняя правка сделана 2023-03-27 10:16:01
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте