PureBasic

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2014. szeptember 20-án áttekintett verziótól ; az ellenőrzések 43 szerkesztést igényelnek .
PureBasic
Nyelvóra imperatív , procedurális , szerkezeti
A végrehajtás típusa összeállított
Megjelent 1998 (AmigaOS)
2000 (Windows)
Szerző Fantaisie szoftver
Fájlkiterjesztés _ .pb .pbi .pbp .pbf
Kiadás 6.00 (2022. június 22. ) ( 2022-06-22 )
Típusrendszer statikus
Befolyásolva ALAPVETŐ
Engedély Szabadalmaztatott , kereskedelmi szoftver.
Weboldal purebasic.com
OS AmigaOS , Linux , Windows , MacOS
 Médiafájlok a Wikimedia Commons oldalon

A PureBasic  egy magas szintű kereskedelmi programozási nyelv , amely a BASIC szintaxison alapul .

Többplatformos alkalmazások létrehozására tervezték AmigaOS , Linux , Microsoft Windows , Windows NT és Mac OS X rendszerekhez. A PureBasic fordító képes programokat IA-32 , m68k és PowerPC processzorkódokká fordítani . Támogatja a futtatható fájlok és a dinamikus könyvtárak összeállítását. Ha nem él vissza az operációs rendszer API-jával, akkor a kód minden támogatott platformon lefordítható változtatás nélkül.

Különféle API-kat támogat: Windows API , MFC (Windows), SDL (Linux) és OpenGL .

A PureBasic többlépéses fordítója egy kód-assembler fordítóból, egy assemblerből ( FASM ) és egy linkerből áll . A PureBasic-nek van egy elég jó hibakeresője is . Mivel a fordítóban van assembler, lehetséges assembler betéteket használni a kódban. Támogatja az ASCII és Unicode karakterkészleteket .

A nyelv minden disztribúciója tartalmaz egy konfigurálható IDE -t. Beépített vizuális formatervezővel rendelkezik a grafikus felület felépítéséhez.

A PureBasic beépített szabványos könyvtárakkal rendelkezik a konzolos és grafikus felhasználói felület programozáshoz, könyvtárakkal a 2D (DirectX, OpenGL) és a 3D játékok létrehozásához ( OGRE ). Összesen több mint 1800 beépített parancs van (sok platformon átívelő).

A nyelv fizetős, és 2 verzió áll rendelkezésre: PureBasic Demo és PureBasic Full. A PureBasic demónak van néhány korlátja: Nem fordíthat le több mint 800 sornyi kódot. A dinamikus könyvtár nem fordítható le. Nem használhatja az operációs rendszer API-it.

Könyvtárak

A PureBasic a következő könyvtárakat tartalmazza:

Általános célú könyvtárak: (tömb, CDAudio, titkosítás, vágólap, konzol, adatbázis, dátum, hibakereső, asztal, fájl, fájlrendszer, betűtípus, minialkalmazás, súgó, kép, képbővítmény, hivatkozott lista, matematikai, memória, menü, egyéb, film, Hálózat, OnError, Packer, Preference, Process, Printer, Requester, Sort, StatusBar, String, SysTray, Thread, Toolbar, Window)

Könyvtárak 2D grafika létrehozásához: (2D rajz, joystick, billentyűzet, modul, egér, paletta, Sprite és képernyő, Sprite3D, hang, SoundPlugin)

Könyvtárak a 3D grafikával való munkavégzéshez: (Ogre3D): (Engine3D, óriásplakát, kamera, entitás, fény, anyag, háló, részecskék, terep, textúra)

A Library könyvtár használatával interakcióba léphet a dinamikus könyvtárakkal.

Adattípusok

A változó adattípusát az első használatkor (és opcionálisan azután) adjuk meg, és egy pont választja el a nevétől. van egy sor elemi típus - .f, .d (egyszeres és dupla pontosságú lebegőpontos számok), .b, .c, .w, .l, .q (egész számok - egybájtostól 8 bájtosig) , .s - húrok.

Típusú Utótag Memóriahasználat Numerikus tartomány
bájtok .b 1 bájt (8 bit) -128 és +127 között
Ascii .a 1 bájt (8 bit) 0-tól +255-ig
karakter .c 1 bájt (8 bit) (ascii) 0-tól +255-ig
Szó .w 2 bájt (16 bit) -32768-tól +32767-ig
Unicode .u 2 bájt (16 bit) 0-tól +65535-ig
karakter .c 2 bájt (16 bit) (unicode) 0-tól +65535-ig
Hosszú .l 4 bájt (32 bit) -2147483648-tól +2147483647-ig
Egész szám .én 4 bájt (32 bit) x86 -2147483648-tól +2147483647-ig
úszó .f 4 bájt (32 bit) A szám egész és tört részének arányától függően.
Egész szám .én 8 bájt (64 bit) x64 -9223372036854775808-tól +9223372036854775807-ig
Quad .q 8 bájt (64 bit) -9223372036854775808-tól +9223372036854775807-ig
Kettős .d 8 bájt (64 bit) A szám egész és tört részének arányától függően.
Húr .s Karakterlánc hossza + 1 bájt Nincs határ.
rögzített húr .s{length} Vonal hossza Nincs határ.


Az elemi típusok mellett a felhasználó a konstrukcióval saját típusát is meghatározhatja

Struktúratípus_neve mező_neve . _ típus ; Egyetlen mező . Lehetőség van építmények egymásba ágyazására . mezőnév [ count ] . típus ; Statikus tömbök . ; ... ; Az opcionális StructureUnion .. EndStructureUnion struktúra lehetővé teszi több mező egy memóriaterületen való kombinálását , ami néha szükséges a típuskonverzióhoz . StructureUnion típusnév . típus ; ... EndStructureUnion EndStructure

A változók lehetnek egyediek (valójában szabványos változók), dinamikus tömbök (a változó_neve.típus_név(méret1, méret2, ...) Dim kulcsszóval deklarálva), linkelt lista (kulcsszólista változó_neve.típus_neve()), asszociatív tömb (újban) verziók nyelve)(Kulcsszótérkép változó_neve.típus_neve())

Programpéldák

Klasszikus „Helló, világ!” program:

A parancssori felület használatával :

If OpenConsole ( "Az első programom!" ) ; Ha megnyílik a konzol , akkor végrehajtjuk a kódot . Nyomtatás ( "Helló, világ!" ) ; Szöveg megjelenítése a képernyőn . Ismételje meg : Amíg Inkey () = Chr ( 27 ) ; A konstrukció az Escape CloseConsole () gomb megnyomására vár ; Zárja be a konzolt . End If ; Végfeltétel . _ vége ; Lépjen ki a programból .

GUI használata :

MessageRequester ( "Az első programom!" , "Szia, világ!" ) ; Hívjon párbeszédet .

A Windows API használata :

MessageBox_ ( 0 , "Szia, világ!" , "Az első programom!" , # MB_OK ) ; Hívjon párbeszédet .

Egyszerű számológép:

A parancssori felület használatával :

Definiálja a var_a . én ; Az első számú változót deklaráljuk . Definiálja a var_b . én ; A második szám változóját deklaráljuk . Definiálja a var_action értéket . a ; Deklarálunk egy műveleti változót . Definiálja a var_out . én ; Deklarálunk egy kimeneti szám változót . If OpenConsole ( "Számítás" ) ; Ha megnyílik a konzol , akkor végrehajtjuk a kódot . kezdés: ; A kezdőcímke . Print ( "A: " ) var_a = Val ( Input ()) ; Kérd az első számot . Print ( "B: " ) var_b = Val ( Bemenet ()) ; Kérd a második számot . Print ( "Művelet: " ) var_action = Asc ( Input ()) ; Cselekvés kérése . Válassza ki a Chr ( var_action ) ; A művelet ellenőrzése . "+" eset var_out = var_a + var_b ; Összeadjuk a számokat . "-" eset var_out = var_a - var_b ; Vonjuk ki a számokat . "*" eset var_out = var_a * var_b ; Megszorozzuk a számokat . "/" eset var_out = var_a / var_b ; Megosztjuk a számokat . Case "^" var_out = Pow ( var_a , var_b ) ; Vegyük hatalomra . _ EndSelect ; A művelet végének ellenőrzése . PrintN ( "Eredmény: " + Str ( var_out )) ; Kiadjuk az eredményt . Nyomtatás ( "Kilépés? (I/N):" ) ; Kilépési üzenetet jelenítünk meg . Ha Input () = "N" ; Ellenőrizze , hogy a felhasználó maradni akar -e . Kezdjem ; _ Ugorjunk a start címkére . End If ; Végfeltétel . _ CloseConsole () ; Zárja be a konzolt . End If ; Végfeltétel . _ vége ; Lépjen ki a programból .

Megjegyzés: A példák az 5.11-es fordítóverzióra vonatkoznak. A régebbi verzióknál előfordulhatnak hibák az eltérő verziószintaxis miatt!

A fejlesztés főbb szakaszai

kiadási dátum Változat Leírás
1999. szeptember 1 1.00 AmigaOS első verziója .
1999. október 10 1.10 Teljes PowerPC támogatás az AmigaOS -hez (WarpOS).
1999. november 30 1.20 Integrált szerkesztő és támogatás az AmigaOS könyvtárakhoz .
2000. szeptember 9 1.60 Sikerült a veszteségmentes programozási paradigmát megvalósítani az AmigaOS számára a Microsoft Windows és Linux béta kiadásaiban .
2000. december 17 2.00 Döntő A Microsoft Windows első nem béta verziója, amely elérhető a nagyközönség számára.
2002. április 4 3.00 Új könyvtárak hozzáadva
2006. október 25 4.00 Béta Stabil kiadás AmigaOS és Linux rendszerekhez .
2006. május 8 4.00 Döntő Stabil verzió Microsoft Windowshoz .
2007. november 9 4.10 Döntő Első egyidejű kiadás az összes támogatott platformra: Microsoft Windows , Linux és Mac OS X.
2012. november 5 5.00 Windows (x86 és x64), Linux (x86 és x64) és Mac OS X (x86, x64 és PowerPC) verzió.
2014. július 23 5.30 Névtér implementálva .
2015. október 16 5,40 LTS Frissítések az 5.40 LTS verzióra.
2016. július 25 5.50 Új funkciók hozzáadva a 3D-s munkához, valamint UNICODE támogatás a fordítóban.
2017. március 2 5.60 Hozzáadott Gif dekóder és még sok más.
2017. szeptember 12 5.61 A fordító és a könyvtárak néhány ismert hibája javítva.
2019. január 2 5,70 LTS QT alrendszer bevezetése Linuxhoz, továbbfejlesztett többplatformos támogatás, DPI támogatás bevezetése Windows alkalmazásokhoz, HTTPRequest(), HTTPRequestMemory(), UseMySQLDatabase() funkciók hozzáadásával, új funkciók hozzáadásával a 3D-vel való munkavégzéshez
2019. augusztus 16 5,71 LTS Javítva a fordító és a legtöbb könyvtár hibája
2020. március 30 5,72 LTS Javítva a fordító és a legtöbb grafikus könyvtár hibái
2020. november 23 5,73 LTS Frissítse az IDE-t és a legtöbb beépített hálózati könyvtárat
2022. június 22 6.00 LTS Hozzáadott utasítások támogatása az Apple M1 , Raspberry 32 és 64 bites processzorokhoz, frissített C fordító , továbbfejlesztett OS Windows 11 támogatás (beleértve a magas automatikus DPI -támogatást ), OS X 11 és 12 (az x86 PB verzió eltávolítva, fontos könyvtárak frissítve), beleértve a filmkönyvtárat ), a widgetek mostantól teljes mértékben támogatják a GTK3-at OS Linuxon

Irodalom

  • Willoughby, G. Purebasic: Útmutató kezdőknek a számítógépes programozáshoz. - Aardvark Global Publishing, 2006. - ISBN 9781427604286 .

Linkek