Из Википедии, свободной энциклопедии
  (Перенаправлено с FreeBasic )
Перейти к навигации Перейти к поиску

FreeBASIC - это мультиплатформенный, бесплатный / открытый ( GPL ) язык программирования BASIC и компилятор для 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]

Возможности компилятора [ править ]

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

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

Синтаксис [ править ]

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

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

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

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.

Распечатать "Hello, World!" sleep: end 'Комментарий, предотвращает мгновенное закрытие окна программы 

FreeBASIC добавляет к этому поддержку объектно-ориентированных функций, таких как методы , конструкторы , динамическое выделение памяти , свойства и временное выделение.

Тип  Vector  Private :  х  Как  Integer  у  Как  Integer  Public :  Declare  Конструктор  ( пХ  Как  Integer  =  0 ,  Ny  Как  Integer  =  0 )  Объявить  Property  GetX  Как  Integer  Объявить  Свойство  GetY  As  Integer End  Type Вектор  конструктора ( nX  как  целое число ,  nY  как  целое число )  x  =  nX  y  =  nY Конечный  конструктор Вектор свойства . getX  как  целочисленный  возврат  x End  Свойство Вектор свойства . getY  As  Integer  Return  y End  Свойство
Dim  As  Vector  Ptr  player  =  New  Vector ()* player  =  Введите < Vector > ( 100 ,  100 ) Print  player -> getX Print  player -> getYУдалить  игрокаSleep  'Предотвращает мгновенное закрытие окна программы

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

Ссылки [ править ]

  1. ^ "freeBASIC о странице" . компилятор freeBASIC . Проверено 5 февраля 2012 года .
  2. ^ FBWiki: FaqPgxbox
  3. ^ freeBASIC Programming Language: Официальный веб-сайт
  4. ^ "Страница загрузок официального сайта freeBASIC" . компилятор freeBASIC . Дата обращения 13 мая 2017 .
  5. ^ FbEdit на sourceforge, получено 13 мая 2017 г.
  6. ^ FreeBASIC IDE / Редакторы - Форумы FreeBASIC
  7. ^ "freeBASIC диалекты" . домашняя страница coderJeff . Проверено 5 февраля 2012 года .
  8. ^ «Отличия от QB» . Документация freeBASIC.net . Проверено 5 февраля 2012 года .

Внешние ссылки [ править ]

  • Официальный сайт
  • FreeBASIC на GitHub
  • FreeBASIC на SourceForge.net
Иды
  • WinFBE - современный редактор FreeBASIC для Windows
  • fbide.freebasic.net   - Интегрированная среда разработки FBIDE для freeBASIC
  • FBEdit (current)   - редактор исходного кода FBEdit для FreeBASIC, версия 1.0.7.6c
  • Редактор исходного кода FBEdit для freeBASIC (устаревшая версия: 1.0.6.8) на SourceForge.net
  • [1]   - VisualFBEditor