Russian English
   Basic.net
Среда, 23.09.2020, 02:09
Меню сайта
Категории раздела
Basic [44]
Помощь [0]
Облако тегов
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа
Главная » Статьи » Basic

PureBasic
Share |



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

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


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

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

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

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

Имеет более 1100 встроенных (многие — кроссплатформенные) команд, вдобавок к этому есть прямой доступ к командам API AmigaOS, Microsoft Windows, Linux или Mac OS X. Детальное описание функций на английском языке можно найти в он-лайн справке http://purearea.net/pb/english/manual/reference/reference.html.

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

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 и Linux — OpenGL/SDL.

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

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

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

Библиотека 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».

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

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

MessageRequester("","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.
  • 16 сентября 2008 г. — вышла версия 4.30 beta 1 для Windows (x86 и x64) Linux и MacOS X.
  • 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)
  • 8 сентября 2010 г. — вышла версия 4.51 для Windows (x86 и x64), Linux (x86 и x64) и MacOS X (x86 и PowerPC) в которой были исправлены ошибки, обнаруженные в версии 4.50
Категория: Basic | Добавил: Admin (09.12.2010)
Просмотров: 8746 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск
Наш опрос
Какую версию Basic вы предпочитаете?
Всего ответов: 2028

© Basic.ucoz.net, 2020