Freebasic született repülni

Mielőtt.

Az első stroke

A BASIC hagyományos nyelvi elemei mellett ez a fordító számos olyan funkciót valósít meg, amelyek jelentősen kibővítik az alapvető szintaxist. Beszélünk támogatását mutatókat a továbbfejlesztett beépített típusú felhasználói típusok, túlterhelés funkciók támogatására az utasítás assembly nyelven (X86) és még sok más dolog, ami freebasic teljes szoftverfejlesztési eszközöket. Alkalmazások fejleszthetők 32 bites operációs rendszerekhez: MS Windows, Linux és DOS.

A FreeBASIC fordító lehetővé teszi különböző fájlok bináris fájljainak létrehozását: OBJ, LIB, DLL és EXE (például konzol és GUI alkalmazások a Win32-hez). Tehát egy statikus vagy dinamikus könyvtár létrehozásához csak egy kulcsot kell hozzáadni a fordító parancssorához: -lib vagy -dll.

Minden alkatrész freebasic (beleértve a külső fejlesztők) mentes (azaz nem tartalmaznak licenc díjat a kereskedelmi vagy nem kereskedelmi célú), kivéve a csak Gorc könyvtár Win32. A telepítőcsomagban szereplő összeállító, kapcsoló, archiváló és egyéb segédprogramok a GNU binutil programozóeszközökből származnak.

Megjegyzés: A telepítőcsomagnak a hivatalos webhelyről való letöltéséhez szükséges valamennyi hivatkozás a cikk utolsó részében kerül összegyűjtésre.

Részletek.

Következő lesz szó csak az adott lehetőségeket freebasic, hogy, és kapcsolja ki a programozási nyelv tervezett oktatási célra egy alkalmazás fejlesztő eszköz. Meg kell mondani egyszer, hogy freebasic fogalmilag a jelenlegi formájában, olyan eszközt jelent, strukturált programozás, vagyis nincs külön nyelvi elemeket, amelyek támogatják az objektum-orientált programozás (bár az objektum-orientált megközelítés - egyfajta világnézet és nem korlátozzák a nyelvi szinten, ez nem ijesztő, de még mindig az OOP számára jobb választani valami mást). Ugyanakkor freebasic tartotta a könnyedség és az átláthatóság az épület kódot tette annyira népszerű, akik elkövetni az első lépéseket a programozás.

Új beépített adattípusok

A tömbök használata

A FreeBASIC támogatja a többrétegű műveletek kiterjesztett tömbjét:
  • A programozó mind statikus, mind dinamikus tömböket használhat, miközben fenntartja a tömb korlátlan dimenzióját (azaz korlátlan számú indexet).
  • A tömb maximális mérete 2 GB.
  • A tömbindex tetszőleges határok között változhat.
  • A REDIM PRESERVE utasítással felülírhatja a dinamikus tömbök méretét, miközben megőrzi tartalmát.

Kompatibilitás a BASIC szintaxissal

A FreeBASIC nem új dialektus a BASIC-ban. Elég, ha ismeri az egyik BASIC változatot a Microsoftból (például QuickBASIC vagy Visual Basic), hogy programozza a FreeBASIC programot.

A FreeBASIC fordító kis-és nagybetű-érzékeny. Változó nevek lehetnek skalár típusú indexek azt mutatják, hogy a változók típusa (mint a BASIC klasszikus) is támogatja a sorszámozás, és nincs szükség fő funkciója.

A legtöbb operátorok és függvények dolgozó grafika és a konzol, hogy már végre QuickBasic támogatott freebasic, ami megkönnyíti az kifejlesztett programok segítségével QuickBasic.

A FreeBASIC szintaxisát kis számú kulcsszó bővítette. Az új funkciók könyvtárak formájában valósulnak meg, ami csökkenti annak a valószínűségét, hogy a régi programokat a FreeBASIC-hez továbbítja. Például a Windows MessageBox funkciója a következőképpen néz ki:

Megjegyzés: mivel a FreeBASIC szintaxis lehetővé teszi a karakterregiszterek szabad manipulálását, használhatja a következőket:

Grafikus funkciók beépített könyvtára (gfx-library)

grafikus funkciókat freebasic könyvtár teljesen kompatibilis grafikus funkcióit QuickBasic (kör, rajzol, LINE, festék, stb), de ez ad a programozó sokkal több funkcióval és egy rugalmasabb és gyors (a felhasználásának felgyorsítása MMX utasításokat, ha azok támogatják a processzor ).

Vannak olyan funkciók a spritek használatához, például a következő műveletek lehetségesek: kivágás, áttetszőség megváltoztatása, alfa és egyedi keverés). Ezenkívül a .bmp (BLOAD, BSAVE) formátumú képek betöltése és mentése megvalósul.

A FreeBASIC lehetővé teszi, hogy szinte közvetlenül az OpenGL funkcióival dolgozhasson, ezért a disztribúció magában foglalja a szükséges fejlécfájlokat és könyvtárakat. és számos példa az OpenGL-mel való együttműködésre.

A FreeBASIC grafikus könyvtár tartalmaz billentyűs, egér és joystick támogató funkciókat is.

A grafikus könyvtár funkcióinak használatakor a végrehajtható fájl mérete csak 30-40 Kb-val növekszik (és ezek nélkül a Win32 alatt egy egyszerű ablak alkalmazásának mérete körülbelül 10 KB). Ugyanakkor nincs szükség további könyvtárakra (dll) a program fenntartásához (elegendő az operációs rendszer részét képező könyvtáraknak).

grafikai funkciókat könyvtár (valamint minden freebasic) egy multi-platform: Windows DirectX vagy GDI (ha DirectX nincs telepítve) DOS alatt alkalmazott közvetlen hozzáférést biztosít a VGA / Modex / VESA Linux alatt - nyers Xlib.

A hibakeresési eszközök támogatása

A FreeBASIC lehetővé teszi a programok hibakeresését. Ez a szolgáltatás GDB (GNU debugger) vagy Insight (GUI-bővítmények a GDB-hez) segítségével valósul meg.

A -exx opció engedélyezve van a fordító parancssorában, a FreeBASIC ellenőrzi a tömb indexeket az érvényes értékek határértékeinek túllépése érdekében, és a Null mutatókat is vezérli.

Escape szekvenciák feldolgozása

Az Escape szekvenciákat ugyanúgy kezeljük, mint a C-ban. A különbség csak az, hogy a visszalépést követő numerikus érték tizedesnek, nem pedig oktálisnak értelmezendő. Az OPTION ESCAPE utasítás használatával engedélyezheti az escape szekvencia feldolgozását:

Funkció túlterhelés

Beépített szerelői utasítások

A program szövegében összeszerelési utasításokat adhat (Intel specifikáció az x86 család számára). Ez sokkal kényelmesebb, mint a program hexadecimális (vagy tizedes) működési kódjának elhelyezése. Az összeszerelési utasításokban a változók nevét használhatja. A korlátozások csak olyan utasításokra vonatkoznak, amelyek tiltottak védett módban.

A szerelői utasításokat az ASM kulcsszó vagy az ASM és az END ASM kulcsszavak után külön sorokra helyezik.

A legismertebb nyílt könyvtárak támogatása

A FreeBASIC a C-ben írt ismert könyvtárak legtöbbjét használhatja, és nem igényel közbülső csomagolási funkciókat. A fejlécfájlokat és az ilyen könyvtárakkal való együttműködés példáit a 0.15 verzió elosztása tartalmazza. Itt található a támogatott könyvtárak listája (a könyvtárak fejlesztői webhelyeire mutató hivatkozások megtalálhatók a Linkek szakasz hivatalos FreeBASIC webhelyén):
  • GTK + 2.0: többplatformos GUI Toolkit (több mint 1MB fejlécfájl, beleértve a Glade, libart és glGtk támogatását)
  • libxml és libxslt: XML és XSL könyvtárak, amelyek de facto szabványokká váltak.
  • GSL - GNU Scientific könyvtár: komplex számok, vektorok, mátrixok, gyors Fourier transzformáció, lineáris algebra, statisztika, válogatás, differenciálegyenletek és sok más matematikai szubrutin.
  • GMP - GNU többszörös precíziós aritmetikai könyvtár: A leggyorsabb könyvtár a nagyszámú munkához.
  • SDL - Egyszerű DirectMedia Layer: egy könyvtár multimédiás kezeléshez (hang, felhasználói bevitel, 3D és 2D grafika stb.).
  • OpenGL: hordozható könyvtár az interaktív játékok és programok létrehozásához 2D és 3D grafika segítségével.
  • Allegro: a játékok létrehozására szolgáló könyvtár (grafika, hang, felhasználói bevitel).
  • GD, DevIL, FreeImage, GRX és egyéb grafikus könyvtárak.
  • OpenAL, Fmod, BASS: 2D és 3D hangkönyvtárak támogatják a mod, mp3, ogg, stb formátumokat.
  • ODE és Newton: könyvtárak a szilárd anyagok dinamikájának modellezésére.
  • cgi-util és FastCGI: webes alkalmazások fejlesztése.
  • DirectX és Windows API - a legfejlettebb fejlécfájlok (a jól ismert BASIC fordítók között), beleértve a Unicode-val való együttműködést is.
  • DispHelper: a COM IDispatch interfészekkel való együttműködés.
  • És még sok más.

Alapértelmezett függvény-érvek

Az egész, a valós és a sztring argumentumokhoz alapértelmezett értékeket rendelhet a hívási funkciókhoz:

A FreeBASIC támogatja a mutatószámlálást és lehetővé teszi a mutatók hierarchiájának korlátlan számú szintjét, vagyis egy mutatót mutató mutatót, amely mutató egy mutatónak. és így tovább.

Annak jelzésére, hogy a változó egy mutató, a típus utáni leírásában a ptr vagy mutató hozzáadásra kerül. A mutatók esetében az öntött művelet támogatott:

Preprocessor

A FreeBASIC támogatja a preprocesszoros irányelvek feldolgozását, amelyek lehetővé teszik a feltételes összeállítást, a szükséges fájlok összekapcsolását, makrók létrehozását és még sok mást. A legtöbb esetben az előfeldolgozói irányelvek hasonlítanak a C nyelvben alkalmazott szintaxisra:

A változók és funkciók korlátlan nevek

A FreeBASIC fordító képes "emészteni" a forráskódot 2 GB-ig. A változók, a konstansok és a függvények nevének hossza csak a fordítási időben rendelkezésre álló memória méretével korlátozott.

Változók inicializálása

Az elosztó készlet összetétele

Egyetértünk abban, hogy a jövőben a Win32 platformon a FreeBASIC 0.15 verzióról beszélünk. A verzió telepítési csomagjának mérete valamivel több mint négy megabájt (4.27 MB). A csomag az alábbi elemeket tartalmazza:
  • bin - a mappa, amelyben az összeszerelő, a linker és a programok összeállításához szükséges egyéb fájlok találhatók.
  • docs - mappa szövegfájlokkal. Ezek a FreeBASIC komponenseire vonatkozó licencszerződések szövegei, valamint a grafikus függvények könyvtárának leírása és a kulcsszavak listája. Ebben a mappában nem szükséges a teljes dokumentációs csomagot keresni, ezért külön kell letöltenie a hivatalos webhelyről.
  • példák - a FreeBASIC programmal kapcsolatos példák mappája. Itt vannak példák a FreeBASIC funkciók használatára, számos szabadon elosztott könyvtárral, valamint a Win32 alkalmazások példáival (példák / Windows).
  • inc - mappa header fájlokkal.
  • lib - könyvtárfájlokkal ellátott mappa.
  • A gyökér mappában található freebasic fbc.exe fordító, amely fut összeállításához bas-fájlokat, szöveges fájlok és readme.txt changelog.txt (kronológia legutóbbi módosítások), valamint linkeket a hivatalos honlapon és a fórum témája freebasic.

A projekt hivatalos honlapján a Letöltés részben letöltheti a szükséges terjesztést a megfelelő operációs rendszerhez megfelelő opció kiválasztásával. A Win32 telepítőcsomagja végrehajtható fájl (exe), amikor futtatja, megjelenik a telepítővarázsló párbeszédablaka. A telepítés során a felhasználónak meg kell adnia azt a mappát, ahol a csomag telepítve lesz (az alapértelmezett „C: \ Program Files \ freebasic”), valamint válassza ki a telepítés típusát. Minden párbeszédablakban ajánlott elfogadni az alapértelmezett paramétereket (azaz a "Következő" gombot megnyomni).

Forráskód létrehozása és programok összeállítása

A FreeBASIC fordító olyan program, amely a parancssorból indul ki, és számos kulcsot tartalmaz, amelyek szabályozzák a fordítási folyamatot. Létrehozhat egy kötegfájlt (bat-file), amelybe a parancssort a megfelelő billentyűkkel futtathatja.

Tekintse meg a fordítási folyamatot egyszerű GUI-alkalmazás létrehozásával a Win32-hez. Az ilyen alkalmazás forráskódjával rendelkező fájl a FreeBASIC részét képező minta mappából vehető le. Fileopen.bas másolni a mappát „C: \ Program Files \ freebasic \ példák \ Windows \ gui” (feltételezzük, hogy freebasic volt telepítve a mappát „C: \ Program Files”), hogy a mappát, ahol lesz található meg (például projektek, "D: \ MyProgs"). Lefordíthatod forráskód példák közvetlenül a mappát, ahol helyezzük őket, a telepítési folyamat freebasic, de ha meg fognak változni a forráskódot, akkor jobb, ha dolgozni példányban ezeket a példákat külön válogatás papke.Dlya GUI-alkalmazásokat Win32 elég a mappát a olyan projektek, amelyek egy bat-fájl (például make.bat) létrehozására szolgálnak, az alábbi tartalommal:

Ha hibaüzenet jelenik meg, akkor a kijelző egyes részekben előfordulhat, a gomb megnyomásával. Ez lehetővé teszi annak elolvasására az üzenetet (például Jaws for Windows - csak váltani Jaws-kurzor).

Futtasson egyet ezekből a bat-fájlokból, és ha nincsenek hibák, akkor a fileopen.exe fájl jelenik meg a mappában. Az első alkalmazás a FreeBASIC készüléken elindul. Valószínűleg a kapott végrehajtható fájl (exe) mérete kellemesen meglep. További kísérleteket a FreeBASIC példákkal önállóan végezhet.

Kapcsolódó hivatkozások