Jump to content

PureBasic

(Перенаправлено с Purebasic )

PureBasic
Парадигма Структурированный , императивный , процедурный.
Семья БАЗОВЫЙ
Разработано Фэнтези-программное обеспечение
Разработчик Фэнтези-программное обеспечение
Впервые появился 1998  ( 1998 )
Стабильная версия
6.11 ЛТС / 5 июня 2024 г .; 2 месяца назад ( 05.06.2024 )
ТЫ Windows , Linux , macOS , ОС Raspberry Pi , AmigaOS
Лицензия Пробная версия
Расширения имен файлов .pb, .pbi, .pbf, .pbp
Веб-сайт www .purebasic
PureBasic IDE 5.10

PureBasic — это коммерчески распространяемый процедурный и язык программирования интегрированная среда разработки на основе BASIC , разработанный Fantaisie Software для Windows , Linux и macOS . Доступна версия для Amiga , хотя ее выпуск был прекращен, а некоторые ее части выпущены с открытым исходным кодом . Первый общедоступный выпуск PureBasic для Windows состоялся 17 декабря 2000 года. С тех пор он постоянно обновляется.

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

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

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

Язык программирования

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

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

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

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

Привет, мир, пример

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

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

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

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

 MessageBox_(0, "Hello World", "Message Box", 0)

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

 OpenConsole()          ; Open a console window. 
 Print("Hello, World!")
 Delay(5000)            ; Pause for 5 seconds

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

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

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

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

 Procedure bubbleSort(Array a(1))
   Protected i, itemCount, hasChanged
  
   itemCount = ArraySize(a())
   Repeat
     hasChanged = #False
     itemCount - 1
     For i = 0 To itemCount
       If a(i) > a(i + 1)
         Swap a(i), a(i + 1)
         hasChanged = #True
       EndIf 
     Next  
   Until hasChanged = #False
 EndProcedure

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

;Create Window:
OpenWindow(0, #PB_Ignore, #PB_Ignore, 800, 600, "Simple Text Editor", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)

;Add 2 menus:
CreateMenu(0, WindowID(0))
MenuItem(1, "&OK")
MenuItem(2, "&Cancel")

;Add Editor:
EditorGadget(0, 0, 0, 0, 0)
SetGadgetFont(0, LoadFont(0, "Courier New", 10))

;Process window messages until closed:
Repeat
    Select WaitWindowEvent()
    Case #PB_Event_Menu
        Select EventMenu()
        Case 1: MessageRequester("OK clicked directly or with '&' mnemonic.", GetGadgetText(0))
        Case 2: Break
        EndSelect
    Case #PB_Event_SizeWindow: ResizeGadget(0, 0, 0, WindowWidth(0, #PB_Window_InnerCoordinate), WindowHeight(0, #PB_Window_InnerCoordinate))
    Case #PB_Event_CloseWindow: Break
    EndSelect
ForEver

PureBasic не экранирует двойные кавычки в строках, поэтому их необходимо объединить с помощью Хр(34) .

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

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

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

Типы данных

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

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

Тип Суффикс Использование памяти Числовой диапазон
Байт б 1 байт (8 бит) −128 ... +127
Ascii а 1 байт (8 бит) 0 ... +255
Характер с 1 байт (8 бит) (ascii) 0 ... +255
Слово В 2 байта (16 бит) −32768 ... +32767
Юникод в 2 байта (16 бит) 0 ... +65535
Характер с 2 байта (16 бит) (Юникод) 0 ... +65535
Длинный л 4 байта (32 бита) −2147483648 ... +2147483647
Целое число я 4 байта (32 бита) x86 −2147483648 ... +2147483647
Плавать ж 4 байта (32 бита) В зависимости от соотношения десятичных чисел.
Целое число я 8 байт (64 бита) x64 −9223372036854775808 ... +9223372036854775807
Четырехместный д 8 байт (64 бита) −9223372036854775808 ... +9223372036854775807
Двойной д 8 байт (64 бита) В зависимости от соотношения десятичных чисел.
Нить с (Длина строки + 1) * SizeOf (Символ) Нет предела.
Фиксированная строка s{длина } (Длина строки) * SizeOf(Символ) Нет предела.
  • Len(String), используемый для подсчета длины строки, не превышает первого нулевого символа ( Хр(0) ).

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

Structure type_name
   field_name.type ; Single field. Perhaps the structures attachment.
   field_name[count].type ; Static arrays.
   ; ... 
   ; Optional construction StructureUnion .. EndStructureUnion allows you
   ; to combine multiple fields into one area of memory
   ; that is sometimes required for the conversion types.
   StructureUnion
      type_name.type
      ; ... 
   EndStructureUnion 
EndStructure

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

Дизайнер форм РАД

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

PureBasic имеет собственный конструктор форм , помогающий создавать формы для приложений, но также доступны и другие сторонние решения. [ 10 ] [ 11 ] [ 12 ] Исходный неинтегрированный визуальный дизайнер был заменен новым интегрированным дизайнером форм 14 февраля 2013 года. [ 13 ]

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

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

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

Многочисленные сайты обмена кодом показывают, что PureBasic используется для создания инструментов. [ 15 ] и игры быстро и легко, [ 16 ] и делиться большими объемами открытого исходного кода. [ 17 ]

Дальнейшее чтение

[ редактировать ]
  • Уиллоби, Гэри (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 .
  1. ^ Часто задаваемые вопросы: подробности о пожизненной лицензии .
  2. ^ Домашняя страница PureBasic
  3. ^ PureBasic — Консоль
  4. ^ PureBasic - Гаджет
  5. ^ Создание DLL
  6. ^ PureBasic не будет объектно-ориентированным.
  7. ^ PureObject: поддержка ООП PureBasic.
  8. ^ Учебник ООП
  9. ^ Еще один прекомпилятор ООП
  10. ^ PureVision , Профессиональный дизайн форм для PureBASIC.
  11. ^ ProGUI , библиотека DLL, содержащая более 100 хорошо документированных команд для быстрого включения богатых настраиваемых компонентов графического интерфейса в ваши приложения.
  12. ^ PureFORM , бесплатный конструктор форм.
  13. ^ Выпущен PureBasic 5.10.
  14. ^ Английский форум , Официальный форум.
  15. ^ Страницы программного обеспечения Хорста Шеффера
  16. ^ ЧистаяОбласть
  17. ^ Архив кода Андре Бира.

Общие ссылки

[ редактировать ]
[ редактировать ]
Статьи
Библиотеки и архивы открытого исходного кода
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ca315cf2fc44ef9e3d7c00c4bfcd5a77__1720418880
URL1:https://arc.ask3.ru/arc/aa/ca/77/ca315cf2fc44ef9e3d7c00c4bfcd5a77.html
Заголовок, (Title) документа по адресу, URL1:
PureBasic - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)