PureBasic

редактировать

PureBasic
PureBasic IDE 5.10.png
PureBasic VD.png
Paradigm структурированный, императивный, процедурный
СемействоBASIC
Разработано Fantaisie Software
Разработчик Fantaisie Software
Впервые появилось1998 (AmigaOS). 2000 (Windows)
Stable выпуск 5.72 LTS / 30 марта 2020 г.; 6 месяцев назад (30.03.2020)
OS кросс-платформенный : Microsoft Windows, Linux, macOS (активный). AmigaOS (прекращено, с открытым исходным кодом )
Лицензия коммерческая
Расширения имен файлов .pb,.pbi,.pbf,.pbp,.pbv
Веб-сайтwww.purebasic.com

PureBasic - это коммерчески распространяемый процедурный компьютер язык программирования и интегрированная среда разработки на основе BASIC и разработана для Windows 32/64-бит, Linux 32/64-бит и macOS. Доступна версия Amiga, хотя она была прекращена, и некоторые ее части выпущены как с открытым исходным кодом. Первый общедоступный выпуск PureBasic для Windows был 17 декабря 2000 г. Он постоянно обновляется.

PureBasic имеет «пожизненную лицензионную модель». Как указано на веб-сайте, первый пользователь PureBasic (который зарегистрировался в 1998 г.) все еще имеет бесплатный доступ к новым обновлениям а это нет t собирается измениться.

PureBasic компилируется непосредственно в x86, x86-64, PowerPC или 680x0 наборы инструкций, генерирующие небольшие автономные исполняемые файлы и DLL, которым не нужны библиотеки времени выполнения, кроме стандартных системных библиотек. Программы, разработанные без использования специфичных для платформы интерфейсов прикладного программирования (API), могут быть легко построены из того же исходного файла с небольшими изменениями или без них.

PureBasic поддерживает встроенную сборку, что позволяет разработчику включать команды ассемблера FASM в исходный код PureBasic, используя переменные, объявленные в исходном коде PureBasic, что позволяет опытным программистам повысить скорость критичных к скорости участков кода. PureBasic поддерживает и интегрировал OGRE 3D Environment. Другие трехмерные среды, такие как Irrlicht Engine, неофициально поддерживаются.

Содержание
  • 1 Язык программирования
    • 1.1 Характеристики
    • 1.2 Пример Hello World
    • 1.3 Процедурное программирование
    • 1.4 Объектно-ориентированное программирование
    • 1.5 Типы данных
  • 2 Form Designer RAD
  • 3 Сообщество пользователей
  • 4 Дополнительная литература
  • 5 Ссылки
    • 5.1 Общие ссылки
  • 6 Внешние ссылки
Язык программирования

Характеристики

PureBasic является родным кроссплатформенный 32-битный и 64-битный компилятор BASIC. В настоящее время поддерживаются системы Windows, Linux, macOS. Версия AmigaOS является устаревшей и имеет открытый исходный код. Компилятор создает собственные исполняемые файлы, а синтаксис PureBasic прост и понятен, сравним с обычным C без скобок, с собственной обработкой строк в Юникоде и большой библиотекой встроенных функций поддержки. Он может компилировать консольные приложения, приложения с графическим интерфейсом пользователя и файлы DLL.

Пример Hello World

Следующая единственная строка кода PureBasic создаст автономный исполняемый файл x86 (4,5 КиБ (4 608 байт) в Windows version), в котором отображается окно сообщения с текстом «Hello World ».

MessageRequester ("Message Box", "Hello World")

И следующий вариант того же кода, который вместо этого использует встроенный вызов Windows API без необходимости в объявлениях или других внешних ссылках., создаст автономный исполняемый файл x86 для Windows размером 2,0 КиБ (2048 байт) еще меньше.

MessageBox_ (0, «Hello World», «Message Box», 0)

Ниже представлена ​​консольная версия примера Hello World.

OpenConsole (); Откройте окно консоли. Print («Hello, World!»)

Процедурное программирование

PureBasic - это язык «BASIC второго поколения», поддерживающий структурированные условные выражения и циклы, а также ориентированное на процедуры программирование. От пользователя не требуется использовать процедуры, поэтому программист может выбрать стиль кодирования, который включает Goto, Gosub Label и Return.

Ниже приведен пример процедуры сортировки массива, хотя SortArray теперь является встроенной функцией PureBasic.

1 Процедура bubbleSort (Array a (1)) 2 Защищено i, itemCount, hasChanged 3 4 itemCount = ArraySize (a ()) 5 Повторить 6 hasChanged = #False 7 itemCount - 1 8 Для i = 0 To itemCount 9 Если a (i)>a (i + 1) 10 Поменять местами a (i), a (i + 1) 11 hasChanged = #True 12 EndIf 13 Далее 14 Пока hasChanged = #False 15 EndProcedure

Ниже приведен пример программы, отображает большой текстовый редактор с двумя пунктами меню.

; Создать окно: OpenWindow (0, #PB_Ignore, #PB_Ignore, 800, 600, «Простой текстовый редактор», #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget; #PB_Window_SizeGadget: (0) 0)) MenuItem (1, «OK») MenuItem (2, «Cancel»); Добавить редактор: EditorGadget (0, 0, 0, 0, 0) SetGadgetFont (0, LoadFont (0, «Courier New», 10)); Обработка оконных сообщений до закрытия: Повторить Выбрать WaitWindowEvent () Случай #PB_Event_Menu Выбрать EventMenu () Случай 1: MessageRequester («OK нажали напрямую или с помощью '' мнемоники.», GetGadgetText (0)) Случай 2: Прервать EndSelect Case # PB_Event_SizeWindow: ResizeGadget (0, 0, 0, WindowWidth (0, #PB_Window_InnerCoordinate), WindowHeight (0, #PB_Window_InnerCoordinate)) Случай #PB_Event_CloseWindow: Break EndSelect ForEver

Обратите внимание, что эти двойные кавычки не должны быть экранированы PureBasic. соединяется с Chr (34).

Объектно-ориентированное программирование

Фред, разработчик PureBasic, заявил, что PureBasic никогда не будет объектно-ориентированным. Однако многие пользователи создали объектно-ориентированные системы поддержки.

Типы данных

Переменный тип данных, указанный при первом использовании (и, необязательно, в будущем), и отделяется от имени точка. Существует набор основных типов -.f,.d (числа с плавающей запятой и двойные числа),.b,.c,.w,.l,.q (целые числа - от однобайтовых и 8- byte),.s - строки.

ТипСуффиксИспользование памятиЧисловой диапазон
Байтb1 байт (8 бит)−128... +127
Asciia1 байт (8 бит)0... +255
Символc1 байт (8 бит) (ascii)0... +255
Словоw2 байта (16 бит)−32768... +32767
Юникодu2 байта (16 бит)0... +65535
Символc2 байта (16 бит) (юникод)0... +65535
Длинныйl4 байта (32 бита)−2147483648... +2147483647
Целое числоi4 байта (32 бита) x86−2147483648... +2147483647
Floatf4 байта (32 бита)В зависимости от соотношения десятичного числа.
Целое числоi8 байтов (64 бита) x64−9223372036854775808... +9223372036854775807
Quadq8 байтов (64 бита)−9223372036854775808... +9223372036854775807
Doubled8 байтов (64 бита)В зависимости от соотношения десятичного числа.
Строкаs(Длина строки + 1) * SizeOf (Символ)Без ограничений.
Фиксированная строкаs {длина}(длина строки) * SizeOf (символ)Без ограничений.
  • Примечание: Len (String), используемый для подсчета длины строки, не будет превышать первый нулевой символ (Chr (0)).

Помимо основных типов, пользователь может определить тип конструкции через

Структура type_name field_name.type; Одно поле. Возможно крепление конструкций. имя_поля [количество].тип; Статические массивы. ;...; Дополнительная конструкция StructureUnion.. EndStructureUnion позволяет; объединить несколько полей в одну область памяти; что иногда требуется для типов преобразования. StructureUnion type_name.type;... EndStructureUnion EndStructure

Переменные могут быть одиночными (фактически стандартные переменные), динамическим массивом (объявленным с использованием Dim var_name.type_name (size1, size2,...), связанным списком (List () var_name.type_name), ассоциативный массив (в новых версиях языка) (Map var_name.type_name ())

Form Designer RAD

PureBasic имеет свой собственный конструктор форм для помощи в создании форм для приложений, но доступны и другие сторонние решения. 14 февраля 2013 г. исходный неинтегрированный Visual Designer был заменен новым интегрированным конструктором форм.

Сообщество пользователей

PureBasic представляет собой онлайн-форум, где пользователи могут задавать вопросы и делиться знаниями. 6 мая 2013 года англоязычный форум насчитывал 4 769 участников и содержал 44 043 обсуждения, включая 372 200 сообщений с 17 мая 2002 года.

Многочисленные сайты обмена кодом показывают, что PureBasic используется для быстрого и простого создания инструментов и игр, а также для обмена большими объемами открытого кода c ode.

Дополнительная литература
  • Уиллоуби, Гэри (2006). Purebasic: Руководство по компьютерному программированию для начинающих. ISBN 1-4276-0428-2.
  • Логсдон, Джон. Программирование 2D-игр с прокруткой. Эта книга теперь доступна для бесплатной загрузки
  • Базовые компиляторы: QuickBASIC, PureBasic, PowerBASIC, Blitz Basic, XBasic, Turbo Basic, Visual Basic, FutureBASIC, REALbasic, FreeBASIC. ISBN 1-155-32445-5.
Ссылки

Общие ссылки

Внешние ссылки
Статьи
Библиотеки и архивы с открытым исходным кодом
Последняя правка сделана 2021-06-02 10:59:45
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте