FreeBASIC - FreeBASIC

FreeBASIC
Fblogo.gif
FreeBasic help.png
ПарадигмаПроцедурный, объектно-ориентированный
РазработаноАндре Виктор[1]
РазработчикКоманда разработчиков FreeBASIC
Впервые появился2004; 16 лет назад (2004)
Стабильный выпуск
1.07.1 / 28 сентября 2019 г.; 14 месяцев назад (2019-09-28)
Печатная дисциплинаСтатический
Операционные системыMS-DOS, FreeBSD, Linux, Майкрософт Виндоус
ЛицензияGNU GPLv2 +, Стандартные библиотеки под лицензией GNU LGPLv2 +
Интернет сайтwww.freebasic.сеть
Под влиянием
QuickBASIC, C

FreeBASIC мультиплатформенный, свободный /Открытый исходный код (GPL ) БАЗОВЫЙ язык программирования и компилятор за Майкрософт Виндоус, защищенный режим MS-DOS (Расширитель DOS ), Linux, FreeBSD и Xbox. Версия для Xbox больше не поддерживается.[2]

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

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

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

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

Синтаксис

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

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

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

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

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

FreeBASIC предоставляет встроенную поддержку графики, совместимую с QuickBASIC, через FBgfx, которая автоматически включается в программы, которые обращаются к ЭКРАН команда. Его бэкэнд по умолчанию OpenGL на Linux и DirectX на Майкрософт Виндоус. Эта абстракция делает графический код FBgfx кроссплатформенным. Однако FBgfx не имеет аппаратного ускорения.

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

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

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

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

Пример кода

Стандартные программы, такие как "Привет, мир!" программа выполняются так же, как и в QuickBASIC.

Распечатать"Привет, мир!"спать:конец'Комментарий, предотвращает мгновенное закрытие окна программы

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

Тип Вектор    Частный:        Икс В качестве Целое число        у В качестве Целое число    Общественные:        Объявить Конструктор (nX В качестве Целое число = 0, н-й В качестве Целое число = 0)        Объявить Свойство getX В качестве Целое число        Объявить Свойство GetY В качестве Целое числоКонец ТипКонструктор Вектор (nX В качестве Целое число, н-й В качестве Целое число)    Икс = nX    у = н-йКонец КонструкторСвойство Вектор.getX В качестве Целое число    Возвращаться ИксКонец СвойствоСвойство Вектор.GetY В качестве Целое число    Возвращаться уКонец Свойство
Тусклый В качестве Вектор Ptr игрок = Новый Вектор()*игрок = Тип<Вектор>(100, 100)Распечатать игрок->getXРаспечатать игрок->GetYУдалить игрокСпать 'Предотвращает мгновенное закрытие окна программы

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

Рекомендации

  1. ^ "freeBASIC о странице". компилятор freeBASIC. Получено 5 февраля 2012.
  2. ^ FBWiki: FaqPgxbox
  3. ^ Язык программирования freeBASIC: Официальный веб-сайт
  4. ^ "страница загрузок официального сайта freeBASIC". компилятор freeBASIC. Получено 13 мая 2017.
  5. ^ FbEdit на sourceforge, получено 13 мая 2017 г.
  6. ^ "freeBASIC диалекты". домашняя страница coderJeff. Получено 5 февраля 2012.
  7. ^ «Отличия от QB». документация freeBASIC.net. Получено 5 февраля 2012.

внешняя ссылка

Иды