PureBasic

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

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

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


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

Есть возможность использования библиотек WIN32API и MFC (Windows); SDL (GNU/Linux).

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

PureBasic (4.00,4.10 и.т.д.) имеет также Visual Designer, который может помочь в создании окон.

Имеет более 800 встроенных (многие — кроссплатформенные) команд, вдобавок к этому есть прямой доступ к командам API AmigaOS, Microsoft Windows, GNU/Linux или Mac OS X. Детальное описание функций на английском языке можно найти в он-лайн справке http://purearea.net/pb/english/manual/reference/reference.html, а на русском — на странице Purebasic Wiki http://wiki.pbasic.spb.ru/index.php/Мануал_по_PureBasic.

Содержание

Основные библиотеки

2D Drawing, CDAudio, Cipher, Clipboard, Console, Database, Date, Desktop, File, FileSystem, Font, Gadget, Help, Image, ImagePlugin, Library, Linked List, Math, Memory, Menu, Misc, Movie, Network, OnError, Packer, Preference, Process, Printer, Requester, Sort, StatusBar, String, SysTray, Thread, Toolbar, Window

Мультимедийные библиотеки (2D графика и звук) (для создания игр, и не только)

Joystick, Keyboard, Module, Mouse, Palette, Sprite & Screen, Sprite3D, Sound, SoundPlugin


В зависимости от платформы используются разные API: в Windows и Windows NT — DirectX 9.0, для Mac OS и GNU/Linux — OpenGL/SDL.

Библиотеки Joystick, Keyboard, Mouse используются для получения информции от различных типов контроллеров — мыши, джойстика, клавиатуры.

Module — плагин для проигрывания файлов с расширением «MOD». Работает через MIDAS.

Sound — библиотека для воспроизведения и загрузки звуков. Команды из SoundPlugin позволяют загружать несколько форматов(по умолчанию, поддерживается WAV, в дистрибутив включена поддержка Ogg Vorbis, а любители написали поддержку MP3 и других форматов. [1])

Библиотека Sprite & Screen применяется для отображения на экране картинок(Sprites), загрузки их в видеопамять(загрузка возможна как из файла, так и из памяти.), смены видеостраниц, создания некоторых эффектов (AlphaBlending, ShadowSprite), определения пересечения двух картинок.

Sprite3D — работа с текстурированными плоскостями. От обычных спрайтов отличаются возможностью масштабирования, поворота, билинейной фильтрации, использования нескольких видов наложения цветов(Blending). Проработка идёт через подсистемы OpenGL/Direct3D, следовательно, графика аппаратно ускоряется на подходящих видеокартах. Также вполне реально применение этой библиотеки в качестве небольшого трёхмерного движка, поскольку всеми четырьмя вершинами плоскостей можно манипулировать в 3D пространстве.

Следует заметить, что стандартный формат графических изображений — BMP, но при использовании команд из библиотеки ImagePlugin появляется поддержка PNG, JPEG, TGA и TIFF.

В разделе «Sprite & Screen» присутствуют специфические команды:

  • ChangeAlphaIntensity
  • DisplayAlphaSprite
  • DisplayRGBFilter
  • DisplayShadowSprite
  • DisplaySolidSprite
  • DisplayTranslucentSprite

Они требуют загрузки в память со специальными параметрами, а также не поддерживаются аппаратно седьмой версией DirectX, поэтому, если вы используете версию компилятора младше 4.30, они очень сильно нагружают процессор. Рекомендуется выделять специальный буфер командами StartSpecialFX/StopSpecialFX.

В версии компилятора 4.30 разработчики реализуют работу этих библиотек через DX9. Для устаревших версий компилятора существует подсистема. Скачать её дистрибутив можно на сайте [2]. Главное преимущество — повышенная производительность и полная аппаратная поддержка команд, перечисленных выше.

3D библиотеки (для создания игр, и не только)

Engine3D, Billboard, Camera, Entity, Light, Material, Mesh, Particle, Terrain, Texture

В PureBasic используется трёхмерный движок OGRE, все встроенные библиотеки предоставляют возможность напрямую обращаться к его функциям. Тем не менее, для работы скомпилированной программы требуется файл «Engine3D.dll», найти который можно в папке «Compilers».(Например, «C:/Program Files/PureBasic/Compilers»)

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

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

MessageRequester("","Hello World")

Файл:PBCode1.gif
«Hello World»

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

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

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

Следующий пример демонстрирует как создавать окно, добавить в него элементы, создать цикл окна и выполнять простые математические операции. Какие бы значения пользователь не ввел в два поля, справа отображается их сумма. Этот код компилируется в небольшое приложение (15,360 байт), которое может быть запущено на Microsoft Windows 4.x или Microsoft Windows NT 4.x и новее.

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

Файл:PBCode2.gif
Суммируем числа

Примечание: для версий компилятора выше 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)

Ссылки

de:PureBasic

en:PureBasic es:PureBasic fr:PureBasic ja:PureBasic nl:PureBasic pl:PureBasic

Источник — «http://www.sbup.com/wiki/PureBasic»
Личные инструменты

Served in 0.157 secs.