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. ) |
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.
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.
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
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())
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 . 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!
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 |
A BASIC programozási nyelv dialektusai | |
---|---|
Klasszikus |
|
átmeneti |
|
eljárási |
|
Tárgy |
|
Mobil |
|
Konzol |
|
IDE | |
---|---|
Egyetemes | |
C / C++ | |
ALAPVETŐ | |
Jáva |
|
Pascal | |
PHP |
|
Piton | |
ActionScript | |
rubin | |
összehasonlítás |