FreeBASIC
Парадигма | Процедурный , объектно-ориентированный |
---|---|
Разработано | Второй Виктор [1] |
Разработчик | Команда разработчиков FreeBASIC |
Впервые появился | 2004 г |
Стабильная версия | 1.10.1
/ 25 декабря 2023 г |
Дисциплина набора текста | Статический |
ТЫ | MS-DOS , FreeBSD , Linux , Microsoft Windows |
Лицензия | GNU GPLv2+ , Стандартные библиотеки, лицензированные по лицензии GNU LGPLv2+. |
Веб-сайт | www |
Под влиянием | |
QuickBASIC , C |
FreeBASIC — это бесплатный мультиплатформенный компилятор и язык программирования с открытым исходным кодом , основанный на BASIC, лицензированный по лицензии GNU GPL для Microsoft Windows с защищенным режимом , MS-DOS ( расширитель DOS ), Linux , FreeBSD и Xbox . Версия для Xbox больше не поддерживается. [2]
По данным его официального сайта, [3] FreeBASIC обеспечивает синтаксическую совместимость с программами , изначально написанными на Microsoft QuickBASIC (QB). Однако, в отличие от QuickBASIC, FreeBASIC представляет собой компилятор только из командной строки , если только пользователи вручную не установят внешнюю интегрированную среду разработки (IDE) по своему выбору. [4] К IDE, специально созданным для FreeBASIC, относятся FBide и FbEdit, [5] в то время как дополнительные графические возможности включают WinFBE Suite и VisualFBEditor. [6] [7]
Возможности компилятора [ править ]
В своей внутренней части FreeBASIC использует GNU Binutils для создания консольных приложений и приложений с графическим пользовательским интерфейсом . FreeBASIC поддерживает связывание и создание C статических и динамических библиотек и имеет ограниченную поддержку библиотек C++ . В результате код, скомпилированный в FreeBASIC, можно повторно использовать в большинстве собственных сред разработки.
Хотя FreeBASIC не является оптимизирующим компилятором , он может опционально транскомпилировать в C для компиляции с оптимизацией. FreeBASIC поддерживает встроенную ассемблерную обработку , многопоточность и не использует автоматическую сборку мусора .
предварительная обработка в стиле C , включая многострочные макросы Поддерживается , условную компиляцию и включение файлов. Препроцессор также имеет доступ к информации о символах и настройкам компилятора, таким как диалект языка .
Синтаксис [ править ]
Первоначально FreeBASIC максимально точно имитировал синтаксис Microsoft QuickBASIC. Помимо этого, язык продолжил свое развитие. В результате FreeBASIC объединяет несколько языковых диалектов для максимального уровня совместимости с QuickBASIC и полного доступа к современным функциям. [8] Новые возможности включают поддержку таких понятий, как объекты , перегрузка операторов , перегрузка функций , пространства имен и другие. [9]
Символы новой строки указывают на завершение операторов программирования. Оператор программирования можно распределить по нескольким последовательным строкам, используя символ продолжения строки подчеркивания (_), тогда как несколько операторов можно записать в одной строке, разделив каждый оператор двоеточием ( :).
Поддерживаются блочные комментарии , а также примечания в конце строки. Полнострочные комментарии обозначаются апострофом . '
, а блоки закомментированного кода начинаются с /'
и закончить на '/
.
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 = Type<Vector>(100, 100)
Print player->getX
Print player->getY
Delete player
Sleep 'Prevents the program window from closing instantly
В обоих случаях язык хорошо подходит для целей обучения.
Ссылки [ править ]
- ^ «О странице freeBASIC» . компилятор freeBASIC . Проверено 5 февраля 2012 г.
- ^ FBWiki: FaqPgxbox
- ^ Язык программирования freeBASIC: Официальный веб-сайт
- ^ «Страница загрузок официального сайта freeBASIC» . компилятор freeBASIC . Проверено 13 мая 2017 г.
- ^ FbEdit на sourceforge, получено 13 мая 2017 г.
- ^ Спид, Ричард (06 мая 2022 г.). «RAD Basic — Visual Basic 7, которого никогда не было — выпускает третью альфа-версию» . Регистр . Проверено 26 марта 2023 г.
RAD Basic — не единственная игра в городе. Альтернативы на разных стадиях разработки включают TwinBASIC, который также стремится обеспечить обратную совместимость с VB6 и VBA; и FreeBASIC, который реализует многое из того, что было в Microsoft QuickBASIC (и имеет изящную IDE в виде VisualFBEditor).
- ^ IDE/редакторы FreeBASIC - Форумы FreeBASIC
- ^ «диалекты freeBASIC» . Домашняя страница coderJeff . Проверено 5 февраля 2012 г.
- ^ «Отличия от QB» . Документация freeBASIC.net . Проверено 5 февраля 2012 г.
Внешние ссылки [ править ]
- Иды
- WinFBE — современный редактор FreeBASIC для Windows
- VisualFBEditor — кроссплатформенная графическая среда разработки.
- fbide.freebasic.net — Интегрированная среда разработки FBIDE для freeBASIC
- FBEdit (текущий) — редактор исходного кода FBEdit для FreeBASIC, версия 1.0.7.6c.
- Редактор исходного кода FBEdit для freeBASIC (устаревшая версия: 1.0.6.8) на SourceForge
- БЕЙСИК-компиляторы
- Бесплатные компиляторы и интерпретаторы
- Объектно-ориентированные языки программирования
- Бесплатные компьютерные библиотеки
- Самостоятельное программное обеспечение
- Бесплатное программное обеспечение, написанное на BASIC.
- ДВА программного обеспечения
- Инструменты программирования для Windows
- Инструменты программирования Linux
- Языки программирования, созданные в 2004 году.
- Программное обеспечение, использующее лицензию GPL
- Языки программирования
- Языки программирования высокого уровня
- программное обеспечение 2004 года
- Семейство языков программирования BASIC
- Статически типизированные языки программирования