stringtranslate.com

FreeBASIC

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, можно повторно использовать в большинстве собственных сред разработки.

Поддерживается предварительная обработка в стиле 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 теперь поддерживает следующие диалекты:

Пример кода

Стандартные программы, такие как «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 как целое число End Type                               Вектор -конструктор ( nX As Integer , nY As Integer )        x = nX y = nY Конечный конструктор       Вектор свойств . getX как целое число, возвращающее x свойство End      Вектор свойств . getY как целое число , возвращающее свойство End.      
Dim As Vector Ptr player = Новый вектор ()       * player = Type < Vector > ( 100 , 100 ) Распечатать player -> getX Распечатать player -> getY     Удалить игрока Sleep 'предотвращает мгновенное закрытие окна программы 

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

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

  1. ^ "О странице freeBASIC" . компилятор freeBASIC . Проверено 5 февраля 2012 г.
  2. ^ FBWiki: FaqPgxbox
  3. ^ Язык программирования freeBASIC: Официальный веб-сайт
  4. ^ «Страница загрузок официального сайта freeBASIC» . компилятор freeBASIC . Проверено 13 мая 2017 г.
  5. ^ FbEdit на sourceforge, получено 13 мая 2017 г.
  6. Скорость, Ричард (6 мая 2022 г.). «RAD Basic — Visual Basic 7, которого никогда не было — выпускает третью альфа-версию». Регистр . Проверено 26 марта 2023 г. RAD Basic — не единственная игра в городе. Альтернативы на разных стадиях разработки включают TwinBASIC, который также стремится обеспечить обратную совместимость с VB6 и VBA; и FreeBASIC, который реализует многое из того, что было в Microsoft QuickBASIC (и имеет изящную IDE в виде VisualFBEditor).
  7. ^ IDE/редакторы FreeBASIC - Форумы FreeBASIC
  8. ^ «диалекты freeBASIC» . Домашняя страница coderJeff . Проверено 5 февраля 2012 г.
  9. ^ «Отличия от QB». Документация freeBASIC.net . Проверено 5 февраля 2012 г.

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

Иды