FreeBASIC

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 7. října 2017; kontroly vyžadují 29 úprav .
FreeBASIC
Jazyková třída multiparadigma : imperativní , procedurální , strukturální , objektově orientované
Typ provedení sestaven
Objevil se v 2004
Autor Vývojový tým FreeBASIC
Vývojář Vývojový tým FreeBASIC
Přípona souboru .basnebo.bi
Uvolnění

1.09.0 [1]

(1. ledna 2022 ) ( 2022-01-01 )
Typový systém přísný, statický
Dialekty fb
Byl ovlivněn QuickBASIC , C
Licence GNU GPLv2+ , standardní knihovny licencované pod GNU LGPLv2+
webová stránka freebasic.net
Plošina x86 , x86_64 , ARMv7 [d] a ARMv8
OS Linux , Windows , DOS , FreeBSD , MacOS (ne plně)
 Mediální soubory na Wikimedia Commons
Kompilátor FreeBASIC
Typ kompilátor , programovací jazyk a objektově orientovaný programovací jazyk
Vývojáři Vývojový tým FreeBASIC
Zapsáno v ZÁKLADNÍ
Operační systém Microsoft Windows , Linux , DOS a FreeBSD
První vydání 2004
Hardwarová platforma x86 , x86_64 , ARMv7 [d] a ARMv8
Nejnovější verze 1.08.1 [1] (9. července 2021 ) ( 2021-07-09 )
Licence GNU GPL
webová stránka freebasic.net
 Mediální soubory na Wikimedia Commons

FreeBASIC  je vysokoúrovňový programovací jazyk, který je syntaxí nejblíže QuickBASIC , stejně jako jeho kompilátor (FreeBASIC Compiler). Zpočátku byl kompilátor vyvinut jako bezplatná alternativa k Microsoft QuickBasic, ale brzy získal nové funkce a stal se výkonným vývojovým nástrojem. Přestože byly první verze kompilátoru napsány ve Visual Basicu , nyní se dokáže zkompilovat sám.

Kompilátor

Kompiluje kód QBasic a FreeBASIC do 32 a 64bitových spustitelných modulů Win32 , DOS ( chráněný režim ) a Linuxu x86.

Sestavení a propojení se provádí pomocí GNU Binutils .

Kompilátor je distribuován za podmínek GNU GPL a standardní knihovna  pod GNU LGPL .

Existuje několik vývojových prostředí , jako debugger můžete použít GNU Debugger (podporován je i gprof).

Jazyk

Přestože je kompilátor kompatibilní s QuickBASIC, do jazyka FreeBASIC bylo přidáno mnoho rozšíření a funkcí, které splňují moderní požadavky, standardy a kompatibilitu s knihovnami a API napsanými v C/ C++ . Počínaje verzí 0.17 si uživatel může vybrat tři režimy kompilace (volba -lang): režim kompatibility s QuickBASIC (qb), staré verze FreeBASIC (zastaralé) a standardní režim, který zahrnuje všechny nejnovější změny a funkce.

Nové funkce a rozšíření [2]

Podpora knihoven funkcí programování aplikací

Příklady programů

Ahoj světe!

Použití vestavěné knihovny FreeBASIC:

Vytisknout "Ahoj světe!"

Použití standardní knihovny C:

# Zahrnout "crt.bi" klade ( ! "Ahoj světe!\n" )

Použití rozhraní Windows API :

# Zahrnout "windows.bi" MessageBox ( Null , "Ahoj, světe!" , "Zpráva" , MB_OK )

Objektově orientované programování

' Vektorová třída Type Vector W As Integer H As Integer Declare Constructor ( nW As Integer , nH As Integer ) End Type Constructor Vector ( nW As Integer , nH As Integer ) W = nW H = nH End Constructor ' Třída pro vytvoření Type AObject Private: X As Integer Y As Integer Movement As Vector Ukazatel Public: ' Externě viditelné metody, včetně konstruktoru a destruktoru Declare Constructor ( nX As Integer , nY As Integer ) Declare Destructor () Declare Sub SetMotion ( Motion As Vector Ukazatel ) Declare Sub Move () Declare Property GetX As Integer End Type ' Nastavit výchozí hodnoty ​​Konstruktor AObject ( nX As Integer , nY As Integer ) X = nX Y = nY End Constructor ' Přidělit paměť Destruktor AObject () Smazat pohyb End Destructor ' Nastavit vektor Sub AObject . SetMotion ( Pohyb jako vektorový ukazatel ) Movement = Motion End Sub ' Přesune objekt podél jeho vektorového Sub AObject . Move () X += Movement -> W Y += Movement -> H End Sub ' Vrátí souřadnici X, která není přístupná zvenčí vlastnosti AObject . GetX As Integer Return X End Property ' Skutečný začátek programu ' Vytvořte instanci třídy na souřadnicích (100, 100) Dim Player As AObject = Type < AObject > ( 100 , 100 ) ' Vytvořte vektor s počátečními hodnotami (-10, 5) a posuňte pozice objektu Player . SetMotion ( Nový vektor ( -10 , 5 )) ' Přesuňte objekt Player . Move () ' Získejte souřadnici X a vytiskněte do konzole Print Player . GetX ' Destruktor objektu "Player" je volán, když objekt překročí rozsah ' Protože "Player" je lokální proměnná, je destruktor volán automaticky 'Čekání na stisknutí libovolné klávesy Spánek

Poznámky

  1. 12 Vydána verze 1.09.0 . Získáno 1. ledna 2022. Archivováno z originálu 1. ledna 2022.
  2. Více o FreeBASIC  (anglicky)  (downlink) . freebasic.net. - FreeBASIC - ještě užitečnější funkce. Získáno 14. října 2015. Archivováno z originálu 24. října 2015.

Viz také

Zdroje

Odkazy

IDE
  • FBIde  - IDE pro FreeBASIC
  • FbEdit  (nedostupný odkaz)  - další IDE pro FreeBASIC
  • WinFBE - Moderní FreeBASIC IDE pro Windows