Лучшие вопросы
Таймлайн
Чат
Перспективы

PureBasic

Из Википедии, свободной энциклопедии

PureBasic
Remove ads

PureBasic — коммерческий язык программирования высокого уровня, основан на синтаксисе BASIC.

Краткие факты Класс языка, Тип исполнения ...
Remove ads

Предназначен для создания кроссплатформенных прикладных программ для AmigaOS, Linux, Microsoft Windows, Windows NT и Mac OS X. Компилятор PureBasic способен компилировать программы в код процессоров IA-32, m68k и PowerPC. Поддерживает компиляцию исполняемых файлов и динамических библиотек. Если не злоупотреблять API операционной системы, то код можно скомпилировать не изменяя его на все поддерживаемые платформы.

Поддерживает разные API: Windows API, MFC (Windows), SDL (Linux) и OpenGL.

Многопроходный компилятор PureBasic состоит из переводчика кода в ассемблер, ассемблера (FASM) и компоновщика. У PureBasic также есть и неплохой отладчик. Так как в компиляторе присутствует ассемблер, есть возможность в коде использовать ассемблерные вставки. Поддерживает наборы символов ASCII и Unicode.

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

В PureBasic встроены стандартные библиотеки для программирования консольного и графического интерфейса, библиотеки для создания 2D (DirectX, OpenGL) и 3D игр (OGRE). Всего насчитывается более 1800 встроенных команд (многие кроссплатформенные).

Язык платный и предоставляются 2 версии: PureBasic Demo и PureBasic Full. PureBasic Demo имеет некоторые ограничения: Нельзя скомпилировать код в котором более 800 строк кода. Нельзя скомпилировать динамическую библиотеку. Нельзя использовать API операционных систем.

Remove ads

Библиотеки

PureBasic содержит следующие библиотеки:

Библиотеки общего назначения: (Array, CDAudio, Cipher, Clipboard, Console, Database, Date, Debugger, Desktop, File, FileSystem, Font, Gadget, Help, Image, ImagePlugin, Linked List, Math, Memory, Menu, Misc, Movie, Network, OnError, Packer, Preference, Process, Printer, Requester, Sort, StatusBar, String, SysTray, Thread, Toolbar, Window)

Библиотеки для создания 2D графики: (2D Drawing, Joystick, Keyboard, Module, Mouse, Palette, Sprite & Screen, Sprite3D, Sound, SoundPlugin)

Библиотеки для работы с 3D графикой: (Ogre3D): (Engine3D, Billboard, Camera, Entity, Light, Material, Mesh, Particle, Terrain, Texture)

С помощью библиотеки Library можно взаимодействовать с динамическими библиотеками.

Remove ads

Типы данных

Суммиров вкратце
Перспектива

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

Подробнее Тип, Суффикс ...


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

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

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

Remove ads

Примеры программ

Суммиров вкратце
Перспектива

Классическая программа «Hello, world!»:

С использованием интерфейса командной строки:

If OpenConsole("My first program!") ;Если открылась консоль, то выполняем код.
   Print("Hello, world!") ;Вывод текста на экран.
   Repeat : Until Inkey() = Chr(27) ;Конструкция ждёт нажатия кнопки Escape
   CloseConsole() ;Закрыть консоль.
EndIf ;Конец условия.
End ;Выход из программы.

С использованием графического интерфейса:

MessageRequester("My first program!", "Hello, world!") ;Вызвать диалог.

С использованием Windows API:

MessageBox_(0, "Hello, world!", "My first program!", #MB_OK) ;Вызвать диалог.

Простой калькулятор:

С использованием интерфейса командной строки:

Define var_a.i ;Объявляем переменную первого числа.
Define var_b.i ;Объявляем переменную второго числа.
Define var_action.a ;Объявляем переменную действия.
Define var_out.i ;Объявляем переменную выходного числа.

If OpenConsole("Calculation") ;Если открылась консоль, то выполняем код.
   start: ;Метка start.
   
   Print("A: ")
   var_a = Val(Input()) ;Спрашиваем первое число.
   Print("B: ")
   var_b = Val(Input()) ;Спрашиваем второе число.
   Print("Action: ")
   var_action = Asc(Input()) ;Спрашиваем действие.
   
   Select Chr(var_action) ;Проверяем действие.
      Case "+"
         var_out = var_a + var_b ;Складываем числа.
      Case "-"
         var_out = var_a - var_b ;Вычитаем числа.
      Case "*"
         var_out = var_a * var_b ;Умножаем числа.
      Case "/"
         var_out = var_a / var_b ;Делим числа.
      Case "^"
         var_out = Pow(var_a, var_b) ;Выводим в степень.
   EndSelect ;Конец проверки действия.
   
   PrintN("Result: " + Str(var_out)) ;Выводим результат.
   
   Print("Exit? (Y/N): ") ;Выводим сообщение о выходе.
   If Input() = "N" ;Проверяем, хочет ли пользователь остаться.
      Goto start ;Переходим на метку start.
   EndIf ;Конец условия.
   
   CloseConsole() ;Закрыть консоль.
EndIf ;Конец условия.

End ;Выход из программы.

Примечание: Примеры рассчитаны для версии компилятора 5.11. На старых версиях могут быть ошибки из за разного синтаксиса версий!

Remove ads

Основные этапы развития

Подробнее Дата выхода, Версия ...
Remove ads

Литература

  • Willoughby, G. Purebasic: A Beginner's Guide to Computer Programming. — Aardvark Global Publishing, 2006. ISBN 9781427604286.

Ссылки

Remove ads
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads