]>Установка, настройка и первая программа — FreeBASIC на русском

Установка, настройка и первая программа

Иногда создаётся впечатление, что все существующие задачи могут быть решены с помощью готовых программ для компьютеров. Во многом это действительно так, но опыт показывает, что всегда находятся задачи, которые не решаются или плохо решаются стандартными средствами. В этих случаях приходится писать собственную программу, которая делает всё так, как ты этого хочешь.

Установка и настройка

Где взять компилятор

Официальный сайт отправляет в раздел загрузок. Там доступны 32‐ и 64‐битные версии компилятора.

Обычно компилятор устанавливают в директорию программ по умолчанию, такую как %ProgramFiles%.

Интегрированные среды разработки

Компилятор фрибейсика — это консольная программа. В пакет входит только компилятор без каких‐либо сред разработки. Поэтому придётся самому выбирать и настраивать среду. С другой стороны отсутствует привязка к какой‐либо конкретной среде или редактору, исходный код можно писать даже в блокноте.

Блокнот

В эту категорию отнесём обычный «Блокнот» и всё, чем можно открыть текстовый файл и исправить его на скорую руку.

Notepad++

Блокнот, но уже с подсветкой синтаксиса операторов, ключевых слов, встроенных функций и автоматической расстановкой отступов. Из списка языков нужно выбрать «Visual Basiс». Компилировать придётся вручную.

Домашная страница Notepad++.

WinFBE

Хорошая среда разработки с подсветкой синтаксиса, отступами и всплывающими подсказками по операторам и функциям. Компилировать программы можно прямо из редактора, достаточно лишь в настройках указать каталог с компилятором. Чтобы можно было вводить русские буквы, в меню «Правка», подменю «Кодировка файла» выбираем пункт «UTF-8 (BOM)» или «UTF-16 (BOM)».

Скачать WinFBE можно из его хранилища на гитхабе.

FBEdit

Ещё одна среда разработки, позволяет также редактировать шаблоны оконных приложений мышкой.

Расширения файлов

Файлы исходного кода — это обычные текстовые файлы со следующими расширениями:

Тебе также могут встретиться файлы со следующими расширениями:

Этапы создания программ

Программа на фрибейсике создаётся несколько этапов.

  1. Трансляция — перевод текста программы в ассемблерный код.
  2. Компиляция — перевод ассемблерного кода в объектные файлы.
  3. Сборка — сшивание всех объектных файлов и требуемых библиотек в один исполняемый файл.

Почему же не сделать всё за один шаг? Для простейших программ это действительно было бы проще, но для сложных проектов многоступенчатый процесс имеет явные преимущества:

Транслятор (ассемблер) переводит исходный файл в машинные коды и строит так называемый объектный файл с тем же именем и расширением *.o. Хотя в нём уже записан машинный код, объектный файл ещё нельзя запускать на компьютере, потому что в нём не хватает стандартных функций, например, для ввода и вывода данных.

Компоновщик подключает стандартные функции, хранящиеся в библиотеках (они имеют расширение *.a). В результате получается один файл с расширением *.exe, который представляет собой готовую программу.

Из чего состоят файлы исходного кода фрибейсика

Любой язык программирования состоит из лексем — последовательности допустимых символов языка, имеющих значение. Лексемы подразделяются на ключевые слова, операторы, идентификаторы, комментарии и всё такое прочее.

Ключевые слова имеют непосредственное отношение к языку. Примеры: Dim, ByRef, Function, Integer, Type, Alias.

Когда ключевые слова собираются вместе, то образуются выражения. Оператор — это одно или несколько ключевых слов, задающие последовательность действий. Примеры операторов:

Код FreeBASIC
' Оператор объявления функции
Declare Function Minimum(ByVal a As Integer, ByVal b As Integer)As Integer

' Оператор объявления переменной
Dim Name As WString * 256

' Оператор сложения
x + y

Каждый оператор обычно располагают на одной строке.

Первая программа

Простейший файл исходного кода — это пустой текстовый файл с расширением *.bas, его можно скомпилировать и получить полноценную программу. В данном случае программа ничего не делает, она просто соответствует правилам фрибейсика.

Код FreeBASIC


Вывод текста на экран

Составим теперь программу, которая будет делать хоть что-нибудь полезное. Например, выводить на консоль слово «Здравствуй, мир!»

Код FreeBASIC
Print "Здравствуй, мир!"

Для отображения текста на экране используется встроенная функция Print. Сейчас она принимает единственный аргумент — строку в кавычках, которую надо вывести на консоль.

Как получить готовую программу

Чтобы получить исполняемый файл, надо сначала напустить транслятор на исходный код, который переведёт его в машинные коды, затем компоновщик, который подключит стандартные функции и создаст исполняемый файл. Раньше всё это делали вводя команды в командной строке или с помощью так называемых пакетных файлов. Компилятор фрибейсика всё это умеет делать сам. Попробуем это сделать и мы.

Компиляция вручную

Открой текстовый редактор, такой как Nodepad++, и сохрани текст программы в файле HelloWorld.bas в кодировке UTF-16 или UTF-8.

Открой интерпретатор команд cmd.exe через «Пуск» → «Выполнить» и перейди в каталог, куда установлен компилятор, например, так:

Код Batch File
cd %ProgramFiles%\FreeBASIC

_C:\WINDOWS\system32\cmd.exeC:\Users\Пользователь>cd %programfiles%\freebasicC:\Program Files\FreeBASIC>_

Теперь можно запускать компилятор и получать исполняемый файл такой командой:

Код Batch File
fbc "C:\Полный путь к файлу\HelloWorld.bas"

_C:\WINDOWS\system32\cmd.exeC:\Users\Пользователь>cd %programfiles%\freebasicC:\Program Files\FreeBASIC>fbc "C:\Полный путь к файлу\HelloWorld.bas"C:\Program Files\FreeBASIC>_

Маленькая хитрость: чтобы не вводить полное имя файла с путём к нему, можно перетащить значок нужного файл из проводника прямо в консоль.

Компиляция из среды разработки на примере WinFBE

Если ты прописал в WinFBE путь к каталогу с компилятором и настроил кодировку на UTF-16 или UTF-8 в редакторе, то достаточно в меню «Компилировать» выбрать пункт «Собрать и выполнить» или нажать клавишу F5.

Результат

Теперь у тебя есть своя первая настоящая программа HelloWorld.exe.

_C:\WINDOWS\system32\cmd.exeC:\Program Files\FreeBASIC>HelloWorld.exeПривет, мир!C:\Program Files\FreeBASIC>_

Остановим выполнение

Если запускать рассмотренную выше программу из проводника, то обнаружится, что она выводит строку и сразу же завершается («как будто что‐то мелькнуло на экране»), не дав нам разглядеть результат. Бороться с этим можно двумя способами.

Запуск из консоли

Открываем консоль и запускаем программу оттуда: после завершения её вывод сохранится.

Код Batch File
"C:\Полный путь к файлу\HelloWorld.exe"

Пауза до нажатия клавиши

Второй способ — это сказать компьютеру, что в конце работы надо дождаться нажатия какой‐нибудь клавиши.

Код FreeBASIC
REM Печатаем фразу «Здравствуй, мир!»
Print "Здравствуй, мир!"

' Ждём нажатия любой клавиши
Sleep
/'
&t;Конец программы
'/

Теперь программа длиннее и состоит из восьми строк, одна из них пустая.

Появилось непонятное слово REM. Этот оператор обозначает начало комментария. Всё, что будет написано после слова REM и до конца строки компилятор будет игнорировать. Также комментарием является всё, что идёт после символа '. Многострочные комментарии начинаются с символов /' и заканчиваются символами '/. На заключённый текст из этого блока («Конец программы») компилятор не будет обращать внимания. Комментарии никак не влияют на работу программы. Они нужны только самому программисту, для того чтобы лучше понимать свой собственный код.

В пятой строке появилась функция Sleep. Эта функция останавливает поток программы и ждёт нажатия любой клавиши.

Функция Print

Теперь давай подробнее изучим функцию вывода данных на консоль Print. Эта функция встроенная, это значит, что она будет добавлена компилятором в исполняемый файл автоматически. Некоторые называют функцию Print оператором, потому что у неё немножко нестандартный вызов.

Функция может принимать несколько аргументов и выводит их на консоль. Аргументы должны быть разделены запятыми , или точками с запятой ;.

Примеры

Код FreeBASIC
' Печатаем несколько фраз без разделителей
Print "Эта"; "фраза"; "будет показана"; "без разделителей"

_C:\WINDOWS\system32\cmd.exeC:\Program Files\FreeBASIC>HelloWorld.exeЭтафразабудет показанабез разделителейC:\Program Files\FreeBASIC>_

Код FreeBASIC
' Печатаем несколько слов по позициям табуляции
Print "Фраза", "через табуляции"

_C:\WINDOWS\system32\cmd.exeC:\Program Files\FreeBASIC>HelloWorld.exeФраза&t;&t;&t;через табуляцииC:\Program Files\FreeBASIC>_

Вывод с разными разделителями можно совмещать:

Код FreeBASIC
' Совмещаем вывод с запятой и точкой с запятой
Print "Фраза", "через"; "разные разделители"

_C:\WINDOWS\system32\cmd.exeC:\Program Files\FreeBASIC>HelloWorld.exeФраза&t;&t;&t;черезразные разделителиC:\Program Files\FreeBASIC>_

Для того, чтобы вывести пустую строку, достаточно использовать Print без всяких аргументов.

Поделись ссылочкой в социальных сетях