PureBasic

PureBasic

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

Предназначен для создания кроссплатформенных приложений для AmigaOS, Linux, Microsoft Windows, Windows NT и Mac OS X. Разработан компанией Fantaisie Software.

Программы, написанные на PureBasic компилируются непосредственно в код процессоров IA-32, m68k и PowerPC, при этом получаются небольшие автономные исполняемые файлы и динамические библиотеки. Если не использовать специфические API операционных систем, один файл исходного кода может быть скомпилирован для всех поддерживаемых операционных систем с небольшими модификациями или вообще без них.

Есть возможность использования библиотек Windows API (32 бит) и MFC (Windows); SDL (Linux), OpenGL (во всех поддерживаемых операционных системах).

Также PureBasic позволяет использовать ассемблерные «включения», так как компилятор — FASM.

При создании программы можно выбрать, будет ли использоваться стандартный набор символов (ASCII), либо расширенный (Unicode)

PureBasic (начиная с версии 3.60 для Windows) имеет также Visual Designer[1], который может помочь в создании окон.

Имеет более 1100 встроенных (многие — кроссплатформенные) команд, вдобавок к этому есть прямой доступ к командам API AmigaOS, Microsoft Windows, Linux или Mac OS X. Демонстрационная версия предоставляется бесплатно, и позволяет компилировать программы только если в них меньше 800 строк кода.

Содержание

Библиотеки

Содержит несколько десятков встроенных библиотек общего назначения (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 Drawing, Joystick, Keyboard, Module, Mouse, Palette, Sprite & Screen, Sprite3D, Sound, SoundPlugin), с трехмерной графикой, через OGRE (Engine3D, Billboard, Camera, Entity, Light, Material, Mesh, Particle, Terrain, Texture).

При помощи библиотеки Library может взаимодействовать с произвольными DLL-библиотеками.

Типы данных

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

Тип Суффикс Использование памяти Числовой диапазон
Byte .b 1 байт (8 бит) от −128 до +127
Ascii .a 1 байт (8 бит) от 0 до +255
Character .c 1 байт (8 бит) (ascii) от 0 до +255
Word .w 2 байта (16 бит) от −32768 до +32767
Unicode .u 2 байта (16 бит) от 0 до +65535
Character .c 2 байта (16 бит) (unicode) от 0 до +65535
Long .l 4 байта (32 бита) от −2147483648 до +2147483647
Integer .i 4 байта (32 бита) x86 от −2147483648 до +2147483647
Float .f 4 байта (32 бита) В зависимости от соотношения целой и дробной части числа.
Integer .i 8 байт (64 бита) x64 от −9223372036854775808 до +9223372036854775807
Quad .q 8 байт (64 бита) от −9223372036854775808 до +9223372036854775807
Double .d 8 байт (64 бита) В зависимости от соотношения целой и дробной части числа.
String .s Длина строки + 1 байт Нет лимита.
Fixed String .s{длина} Длина строки Нет лимита.


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

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

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

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

Следующая строка кода создаст небольшое (3,072 байт) приложение для Microsoft Windows.

MessageRequester("","Hello World")

«Hello World»

Аналогично, вместо встроенной команды MessageRequester можно использовать MessageBox из WinAPI:

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

Эта программа занимает всего 2 килобайта, но выполниться сможет только в ОС Microsoft Windows.

Следующий пример демонстрирует как создавать окно, добавить в него элементы, создать цикл окна и выполнять простые математические операции. Какие бы значения пользователь не ввел в два поля, справа отображается их сумма. Этот код компилируется в небольшое приложение (15 КБ), которое в зависимости от использованого компилятора, может быть запущено на Windows, Linux, Mac OS X или AmigaOS.

OpenWindow(1,300,300,100,100,"Title",#PB_Window_SystemMenu)
CreateGadgetList(WindowID(1))
StringGadget(1,10,10,50,20,"")
StringGadget(2,10,40,50,20,"")
TextGadget(3,80,30,50,20,"")
Repeat
 ev=WaitWindowEvent()
 If ev=#PB_Event_Gadget
   op1=Val(GetGadgetText(1))
   op2=Val(GetGadgetText(2))
   SetGadgetText(3,Str(op1+op2))
 EndIf
Until ev=#PB_Event_CloseWindow
End

Суммируем числа

Примечание: для версий компилятора выше 4.2 инструкция CreateGadgetList(WindowID(1)) вызовет предупреждение об отсутствии в ней необходимости.

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

  • 30 ноября 1999 г. — PureBasic v1.20, появился встроенный редактор и поддержка библиотек AmigaOS
  • 23 мая 2008 г. — PureBasic v4.20 для всех поддерживаемых платформ кроме AmigaOS.
  • 1 декабря 2009 г. — вышла версия 4.40 для Windows (x86 и x64), Linux (x86 и x64) и MacOS X (x86 и PowerPC)
  • 7 июня 2010 г. — вышла версия 4.50 Revision 1253 для Windows (x86 и x64), Linux (x86 и x64) и MacOS X (x86 и PowerPC)
  • 7 ноября 2011 г. — вышла версия 4.60 для Windows (x86 и x64), Linux (x86 и x64) и MacOS X (x86 и PowerPC)
  • 21 мая 2012 г. — вышла версия 4.61 для Windows (x86 и x64), Linux (x86 и x64) и MacOS X (x86 и PowerPC)
  • 5 ноября 2012 г. — вышла версия 5.00 для Windows (x86 и x64), Linux (x86 и x64) и MacOS X (x86, x64 и PowerPC)

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "PureBasic" в других словарях:

  • Purebasic — Entwickler: Fantaisie Software Aktuelle Version: Windows: 4.30 (17. Dezember 2008) Linux: 4.30 (17. Dezember 2008) …   Deutsch Wikipedia

  • Purebasic — Apparu en 2000 Auteur Fantaisie Software …   Wikipédia en Français

  • PureBasic — Entwickler Fantaisie Software Aktuelle Version Windows: 4.60 (7. November 2010) Linux: 4.60 (7. November 2010) Mac OS X: 4.60 (7. November 2010) Amiga OS: 4.00 (1 …   Deutsch Wikipedia

  • PureBasic — Apparu en 2000 Auteur Fantaisie Software Développeur Fred Laboureur Dernière version stable 4.60 …   Wikipédia en Français

  • PureBasic — Saltar a navegación, búsqueda PureBasic es un compilador de un dialecto del lenguaje de programación BASIC. Incluye entorno de programación, con un amplio repertorio de instrucciones y librerías. Una de sus principales características frente a… …   Wikipedia Español

  • PureBasic — es un compilador de un dialecto del lenguaje de programación BASIC. Incluye entorno de programación, con un amplio repertorio de instrucciones y librerías. Una de sus principales características frente a otros es la de generar ejecutables muy… …   Enciclopedia Universal

  • PureBasic — Infobox Software name = PureBasic caption = PureBasic IDE running on Windows 2000 developer = Fantaisie Software latest release version = v4.20 latest release date = 2008 operating system = Mac OS X (PowerPC only), Microsoft Windows, Linux,… …   Wikipedia

  • Pure Basic — PureBasic Entwickler: Fantaisie Software Aktuelle Version: Windows: 4.30 (17. Dezember 2008) Linux: 4.30 (17. Dezember 2008) …   Deutsch Wikipedia

  • Сравнение языков программирования — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей.  Условные обозначения  …   Википедия

  • Basicdialekt — Aufgrund der seit Jahrzehnten bestehenden Popularität von BASIC existieren zahlreiche BASIC Implementierungen auf einer Vielzahl von Plattformen. Entsprechend den sehr unterschiedlichen Umgebungen und Einsatzzwecken wurde eine hohe Zahl von… …   Deutsch Wikipedia


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

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»