FreeBASIC - FreeBASIC
Парадигма | Процедурный, объектно-ориентированный |
---|---|
Разработано | Андре Виктор[1] |
Разработчик | Команда разработчиков FreeBASIC |
Впервые появился | 2004 |
Стабильный выпуск | 1.07.1 / 28 сентября 2019 г. |
Печатная дисциплина | Статический |
Операционные системы | MS-DOS, FreeBSD, Linux, Майкрософт Виндоус |
Лицензия | GNU GPLv2 +, Стандартные библиотеки под лицензией GNU LGPLv2 + |
Интернет сайт | www |
Под влиянием | |
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Удалить игрокСпать 'Предотвращает мгновенное закрытие окна программы
В обоих случаях язык хорошо подходит для учебных целей.
Рекомендации
- ^ "freeBASIC о странице". компилятор freeBASIC. Получено 5 февраля 2012.
- ^ FBWiki: FaqPgxbox
- ^ Язык программирования freeBASIC: Официальный веб-сайт
- ^ "страница загрузок официального сайта freeBASIC". компилятор freeBASIC. Получено 13 мая 2017.
- ^ FbEdit на sourceforge, получено 13 мая 2017 г.
- ^ "freeBASIC диалекты". домашняя страница coderJeff. Получено 5 февраля 2012.
- ^ «Отличия от QB». документация freeBASIC.net. Получено 5 февраля 2012.
внешняя ссылка
- Иды
- WinFBE - Современный редактор FreeBASIC для Windows
- fbide.freebasic.net - Интегрированная среда разработки FBIDE для freeBASIC
- FBEdit (текущий) - редактор исходного кода FBEdit для FreeBASIC, версия 1.0.7.6c
- Редактор исходного кода FBEdit для freeBASIC (устаревшая версия: 1.0.6.8) на SourceForge.net
- [1] - VisualFBEditor