ПредишенСледващото

Преди да.

Първите щрихи

Освен обичайните елементи за BASIC език, компилаторът реализират редица възможности, основно разширяване на основния синтаксис. Става дума за подкрепа на указатели за подобрените вградени видове типове потребители, претоварване функции в подкрепа на инструкция на асемблер (X86) и много други неща, които прави FreeBASIC пълни инструменти за разработка на софтуер. Заявленията могат да бъдат разработени за 32-битови операционни системи: MS Windows, Linux и DOS.

FreeBASIC съставител ви позволява да създадете двоични файлове от различни формати: OBJ, LIB, DLL, EXE и (например, конзола и GUI-приложения за Win32). Така че, за да се създаде статичен или динамичен библиотека е достатъчно да добавите само един ключ към компилатор командния ред: -lib или -dll.

Всички компоненти (включително FreeBASIC програмисти на трети страни) са безплатни (т.е. не включва лицензионни такси за използването им за търговски или нетърговски цели), с изключение само GoRC библиотека за Win32. Assembler, свързваща, архиватор и други комунални услуги са включени в инсталационния пакет, са взети от GNU binutil инструменти за програмиране.

Забележка: Всички справки, необходими, за да изтеглите инсталационния пакет от официалния сайт са събрани в последната част на статията.

Детайли.

Следваща ще бъде обсъден само от конкретните възможности FreeBASIC, че и да го превърне от един език за програмиране, предназначени за образователни цели, в инструмент за разработка на приложения. Трябва да кажа веднага, че FreeBASIC концептуално в сегашния си вид, осигурява средства за структурирани програмиране, т.е. още няма специални езикови елементи, които поддържат обектно-ориентираното програмиране (въпреки че обектно-ориентиран подход - един вид възглед за света и няма ограничения за езиково ниво, не е ужасно, но все пак за ООП е по-добре да се избере нещо друго). В същото време FreeBASIC пазил всичко, по-светли и прозрачността на изграждане на код, който направи толкова популярна сред тези, които извършват първите стъпки в програмирането.

Нови вградени типове данни

Работа с масиви

FreeBASIC поддържа разширен набор от операции с масиви:
  • Програматорът да използвате статични и динамични масиви, където матрицата се поддържа неограничен размер (т.е., неограничен брой индекси).
  • Максималният размер на масив е 2 GB.
  • Индексът на масива може да варира в произволни граници.
  • С помощта на ReDim СЪХРАНИМ оператор може да има предимство на размера на динамични масиви с опазването на тяхното съдържание.

Съвместим с синтаксис BASIC език

FreeBASIC - не е нов диалект от основния език. Достатъчно е да се знае, един от вариантите на BASIC от Microsoft (например, QuickBasic или Visual Basic), за да програмирате в FreeBASIC.

FreeBASIC компилатор не е с малки букви. Имената на променливите могат да включват скаларни видове части, които се посочват видът на променливи (като в BASIC класическата на) също подкрепи линия номерация и няма нужда да се основна функция.

Повечето от операторите и функциите за работа с графики и конзола, че са били осъществени в QuickBasic, подкрепено FreeBASIC, което улеснява прехвърлянето на програми, разработени с помощта на QuickBasic.

Синтаксис FreeBASIC е разширена малко количество ключови думи. Новите функции се изпълняват под формата на библиотеки, което намалява вероятността за съвпадение на имената, когато пренасянето стари програми FreeBASIC. Например, използването на функцията MessageBox в Windows ще изглежда така:

Забележка: Тъй като синтаксис позволява FreeBASIC безплатно лечение с регистъра символи може да се използва, ако е необходимо:

Вградени функции на библиотека, работа с графики (GFX-библиотека)

графичните функции FreeBASIC библиотека е напълно съвместим с графичните функции на QuickBasic (кръг, рисуват, LINE, боя, и т.н.), но тя дава на програмиста много повече функции и по-гъвкаво и бързо (за ускоряване на инструкциите за употреба MMX, ако те са подкрепени от процесора ).

Има функции за работа с спрайтове, например, следните стъпки: изрязване, промяна на прозрачността, алфа, и обичай смесване). Освен това, тя изпълнява натоварване и спестяване на изображения в .bmp формат (BLOAD, BSAVE).

FreeBASIC позволява почти пряко работи с OpenGL функции, за това, че разпределението включва необходимите заглавни файлове и библиотеки. както и няколко примера за работа с OpenGL.

Графиките библиотека FreeBASIC допълнително да включват функции на клавиатурата подкрепа, мишка и джойстик.

При използване на графики библиотека изпълним размер се увеличава с едва 30-40 Kb (и без тези функции размер на просто приложение на прозорци за Win32 е около 10 KB). Въпреки това, без допълнителни библиотеки (DLL) за подкрепа на програмата не се изисква (достатъчно на тези библиотеки, които са част от операционната система).

графичен библиотека функции (както и всички FreeBASIC) е мулти-платформа: под Windows с помощта на DirectX или GDI (ако DirectX не е инсталиран) под DOS използва пряк достъп до VGA / ModeX / VESA, под Linux - сурова Xlib.

Подкрепа за отстраняване на грешки

FreeBASIC ви позволява да отстраните грешката в програмата. Тази функция се осъществява чрез използване на GDB (GNU дебъгер) или Insight (GUI-надстройка за GDB).

Когато -exx опциите на компилатора от командния ред, FreeBASIC проверява индексите на масиви за излизане извън границите на приемливите стойности, а също така осигурява Null контрол показалка.

Бягство последователности Обработка

Бягство последователности се обработват същите, както в С Единствената разлика е, че цифровата стойност след обратната lsesha тълкува като знак, а не като осмично. Можете да използвате опцията за ръчно избяга, за да се даде възможност на тези за обработка на аварийните последователности:

претоварване на функции

Вградени инструкции монтажен

Текстът на програмата, можете да добавите инструкции за монтаж (Intel спецификация за семейството на x86). Това е по-удобно, отколкото поставянето на текстови програми шестнадесетични (или знака след десетичната) опкодове. Инструкциите за монтажен, които можете да използвате имена на променливи. Ограничения са наложени само по нареждане, изпълнението на което е забранено в защитената режим.

Инструкции за монтаж са поставени на отделни редове следните ASM ключовата дума или между ключовите думи и ASM END ASM.

Подкрепа за най-известните библиотеки с отворен код

FreeBASIC да използвате повечето библиотеки, написани на C, не се изисква за тази междинна функции за обвивки. Header файлове и примери за такива библиотеки са включени в версия 0.15 на разпределението. Ето списък на поддържаните библиотеки (линкове към сайтовете на разработчиците на тези библиотеки могат да бъдат намерени на официалния сайт FreeBASIC виж Връзки):
  • GTK + 2.0: по-платформа GUI Toolkit (повече от 1MB на заглавните файлове, включително подкрепа Glade и libart glGtk)
  • libxml и libxslt: XML и XSL библиотеки, които са се превърнали в де факто стандарт.
  • GSL - GNU научна библиотека: комплексни числа, вектори, матрици, бързо преобразуване на Фурие, линейна алгебра, статистика, сортиране и диференциални уравнения и много други математически съчетания.
  • GMP - GNU Множествена Precision аритметика Библиотека: известен като най-бързият библиотеката за работа с големи количества.
  • SDL - Simple Directmedia Layer: библиотека за мултимедийни (аудио, вход от потребителя, 3D и 2D графики и т.н.
  • OpenGL: преносим библиотека за изграждане на интерактивни приложения и игри посредством 2D и 3D графика.
  • Allegro: библиотека за създаване на игри (графика, звук, възможности за въвеждане).
  • GD, дявола, FreeImage, GRX и други графични библиотеки.
  • OpenAL, FMOD, бас: 2D и 3D звукови библиотеки, поддържащ формати мод, mp3, OGG, и т.н.
  • ODE и Нютон: библиотеката за моделиране на динамиката на твърди частици.
  • CGI-Util и FastCGI: разработване на уеб-приложения.
  • DirectX и Windows API - най-пълния набор от заглавни файлове (сред известните ОСНОВНИ компилатори), включително функции за работа с Unicode.
  • DispHelper: работа с COM IDispatch интерфейси.
  • И още много други.

Аргументите на функциите по подразбиране

За число, реални и низови аргументи, подкрепени от възлагането на стойности по подразбиране, когато се обаждате функции:

FreeBASIC подкрепя аритметиката с указатели и позволява неограничен брой йерархични нива на указатели, която е указател към указател, който е указател към указател това. и така нататък.

За да покаже, че дадена променлива е указател, в своето описание на типа след добавяне на ключови думи или КОП показалка. За съвети как да се поддържат работа тип леене:

Препроцесор

FreeBASIC подкрепя предварителна обработка директиви, които ви позволяват да изпълняват условията компилация, свързване на необходимите файлове, да създавате макроси и други. В повечето случаи, директиви предпроцесорни приличат на синтаксиса приети в езика C:

Имената Unlimited променливи и функции

FreeBASIC компилатор е в състояние да "смилане" изходния код до 2 GB. И дължината на имената на променливи, константи, функции и само ограничен размер на паметта, на разположение по време на компилация.

Инициализация на променливите

разпределението

Съгласни сме, че в бъдеще това ще бъде FreeBASIC версия 0.15 за платформата Win32. Размерът на инсталационния пакет на тази версия е малко повече от четири мегабайта (4.27 MB). Пакетът включва следните компоненти:
  • Бин - папка, която съдържа асемблер, свръзката и други файлове, необходима за съставяне на програми.
  • Документи - папка с текстови файлове. Това е лицензионното споразумение, свързано с FreeBASIC на компоненти, както и библиотеката на графични функции и списък с ключови думи. Не гледайте в пакета пълна документация на папката, тя трябва да се изтегли от официалния сайт поотделно.
  • примери - папката с примери в FreeBASIC програми. Това са примери за това как FreeBASIC функции, с много свободно разпространени библиотеки, както и примери за Win32 приложения (примери / Windows).
  • Inc - папка с файлове заглавката.
  • ИЪ - папка с библиотечни файлове.
  • В главната папка намира FreeBASIC fbc.exe компилатор, който би трябвало да работи за съставяне на Bas-файлове, текстови файлове и readme.txt changelog.txt (хронология на последните промени), както и връзки към официалния сайт и форум Темата FreeBASIC.

На официалния сайт на проекта в раздела за изтегляне, можете да свалите най-разпределение, като изберете опцията, която е подходяща за вашата операционна система. Инсталационният пакет за Win32 е изпълним файл (Търсейки), който, когато работи инсталационния помощник се появява диалогов прозорец. По време на инсталацията, потребителят трябва да укажете папката, където ще бъде инсталиран на пакета (по подразбиране е "C: \ Program Files \ FreeBASIC"), както и да изберете вида на инсталацията. Препоръчва се при всички диалози, като настройките по подразбиране (т.е., натиснете бутона "Напред").

Създаване на изходния код и да съставят програми

FreeBASIC Compiler е програма, която се изпълнява от командния ред и след като редица ключове, които управляват процеса на компилация. Можете да създадете команден файл (бухалка-файл), който поставя в командния ред, за да стартирате компилатор с десния клавиш.

Помислете за процеса на компилация, чрез създаване на прост GUI-заявление Win32. Източник подаде такова заявление, можете да вземете за пример на папката, принадлежащ към FreeBASIC. Fileopen.bas Копие в папка "C: \ Program Files \ FreeBASIC \ примери Windows \ GUI \" (предполага се, че FreeBASIC е бил инсталиран в папка "C: \ Program Files") до папката, където ще се намира вашите проекти (например, "D: \ MyProgs"). Можете да компилира изходния код примери директно в папката, където са били поставени в FreeBASIC инсталационния процес, но ако ще да се променят изходния код, по-добре е да се работи с копия от тези примери в отделна компилация papke.Dlya GUI-приложения за Win32 достатъчно в папката с вашия проекти за създаване на прилеп файл (например, make.bat), както следва:

Ако има грешка, на дисплея ще бъде части от натискане на клавиш очакване. Това ще позволи на екранни четци, за да прочетете съобщението (например, Челюсти за Windows - трябва да преминете само на Jaws-курсор).

Изпълнете едно от най-прилеп файл и, ако няма грешка в fileopen.exe файл се появява в папката. Вашата първа молба за FreeBASIC готова за работа. Най-вероятно от размера на получения изпълним (EXE), ще ви зарадва. По-нататъшни експерименти с примери в FreeBASIC можете да извършвате сами.

Сродни връзки

Подкрепете проекта - споделете линка, благодаря!