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.