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.
Распечатать «Привет, мир!»
Sleep: end 'Комментарий, предотвращает мгновенное закрытие окна программы
FreeBASIC добавляет к этому поддержку объектно-ориентированных функций, таких как методы , конструкторы , динамическое выделение памяти , свойства и временное выделение.
Тип Vector
Private :
x As Integer
y As Integer
Public :
Объявить конструктор ( nX As Integer = 0 , nY As Integer = 0 )
Объявить свойство getX как целое число
Объявить свойство getY As Integer
End Type
Constructor Vector ( nX As Integer , nY As Integer )
x = nX
y = nY
конечного конструктора
свойств Вектор . getX As Integer
Return x
End Property
Property Vector . getY как целое число
возвращающее ,
End . свойство
Dim As Vector Ptr player = New Vector ()
* player = Type < Vector > ( 100 , 100 )
Печать player -> getX
Печать player -> getY
Удалить player
Sleep 'Предотвращает мгновенное закрытие окна программы
В обоих случаях язык хорошо подходит для целей обучения.
Ссылки [ править ]
- ^ «О странице 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 г.
Внешние ссылки [ править ]
![](http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png)
- Иды
- 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
- Статически типизированные языки программирования