stringtranslate.com

FreeBASIC

FreeBASIC — это бесплатный и открытый исходный код многоплатформенного компилятора и языка программирования на основе BASIC, лицензированного по GNU GPL для Microsoft Windows , защищенного режима MS-DOS ( DOS extender ), Linux , FreeBSD и Xbox . Версия для Xbox больше не поддерживается. [2]

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

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

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

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

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

Синтаксис

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

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

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

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

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

Ссылки

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

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

Иды