FreeBASIC

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 7 octombrie 2017; verificările necesită 29 de modificări .
FreeBASIC
Clasa de limba multi- paradigma : imperativ , procedural , structural , orientat pe obiect
Tipul de execuție compilate
Aparut in 2004
Autor Echipa de dezvoltare FreeBASIC
Dezvoltator Echipa de dezvoltare FreeBASIC
Extensie de fișier .bassau.bi
Eliberare

1.09.0 [1]

(1 ianuarie 2022 ) ( 01.01.2022 )
Tip sistem strict, static
Dialectele fb
A fost influențat QuickBASIC , C
Licență GNU GPLv2+ , biblioteci standard licențiate sub GNU LGPLv2+
Site-ul web freebasic.net
Platformă x86 , x86_64 , ARMv7 [d] și ARMv8
OS Linux , Windows , DOS , FreeBSD , MacOS (nu complet)
 Fișiere media la Wikimedia Commons
Compilator FreeBASIC
Tip de compilator , limbaj de programare și limbaj de programare orientat pe obiecte
Dezvoltatori Echipa de dezvoltare FreeBASIC
Scris in DE BAZĂ
Sistem de operare Microsoft Windows , Linux , DOS și FreeBSD
Prima editie 2004
Platformă hardware x86 , x86_64 , ARMv7 [d] și ARMv8
ultima versiune 1.08.1 [1] (9 iulie 2021 ) ( 09.07.2021 )
Licență GNU GPL
Site-ul web freebasic.net
 Fișiere media la Wikimedia Commons

FreeBASIC  este un limbaj de programare de nivel înalt care este cel mai apropiat ca sintaxă de QuickBASIC , precum și un compilator pentru acesta (FreeBASIC Compiler). Inițial, compilatorul a fost dezvoltat ca o alternativă gratuită la Microsoft QuickBasic, dar în curând a dobândit noi funcții, transformându-se într-un instrument puternic de dezvoltare. Deși primele versiuni ale compilatorului au fost scrise în Visual Basic , acum se poate compila singur.

Compilator

Compilează codul QBasic și FreeBASIC în module executabile pe 32 și 64 de biți Win32 , DOS ( modul protejat ) și Linux x86.

Asamblarea și legarea se face cu GNU Binutils .

Compilatorul este distribuit în conformitate cu termenii GNU GPL , iar biblioteca standard  sub GNU LGPL .

Există mai multe medii de dezvoltare , puteți utiliza GNU Debugger ca depanator (gprof este, de asemenea, acceptat).

Limba

Deși compilatorul este compatibil cu QuickBASIC, multe extensii și caracteristici au fost adăugate limbajului FreeBASIC pentru a îndeplini cerințele moderne, standardele și compatibilitatea cu bibliotecile și API -urile scrise în C/ C++ . Începând cu versiunea 0.17, utilizatorul poate selecta trei moduri de compilare (opțiune -lang): modul de compatibilitate cu QuickBASIC (qb), versiuni vechi de FreeBASIC (învechit) și modul standard, care include toate cele mai recente modificări și caracteristici.

Caracteristici și extensii noi [2]

Suport pentru bibliotecile de funcții de programare a aplicațiilor

Exemple de programe

Salut Lume!

Folosind biblioteca încorporată FreeBASIC:

Tipăriți „Hello World!”

Folosind biblioteca standard C:

# Includeți „crt.bi” pune ( ! „Bună ziua, lume!\n” )

Folosind API-ul Windows :

# Includeți „windows.bi” Mesaje ( Null , „Bună, lume!” , „Mesaj” , MB_OK )

Programare orientată pe obiecte

Clasa vectorială Tip Vector W ca întreg H ca întreg Constructor Declarare ( nW ca întreg , nH ca întreg ) Constructor tip final Vector ( nW ca întreg , nH ca întreg ) W = nW H = nH Constructor final ' Clasa pentru crearea unui tip AObject Privat: X ca întreg Y ca întreg Mișcare ca indicator vectorial Public: ' Metode vizibile extern, inclusiv constructor și destructor Declarare constructor ( nX ca întreg , nY ca întreg ) Declarare destructor () Declarare Sub SetMotion ( mișcare ca indicator vectorial ) Declarare Sub Mutare () Declarați Proprietatea GetX ca Integer End Type ' Setați valorile implicite Constructor AObject ( nX Ca Integer , nY Ca Integer ) X = nX Y = nY End Constructor ' Dealocați memorie Destructor AObject ( ) Ștergeți Movement End Destructor ' Set vector Sub AObject . SetMotion ( Motion As Vector Pointer ) Movement = Motion End Sub ' Mută ​​obiectul de-a lungul vectorului său Sub AObject . Move () X += Movement -> W Y += Movement -> H End Sub ' Returnează coordonata X care nu este accesibilă din afara proprietății AObject . GetX As Integer Return X End Proprietate ' Începutul real al programului ' Creați o instanță a clasei la coordonatele (100, 100) Dim Player As AObject = Type < AObject > ( 100 , 100 ) ' Creați un vector cu valori inițiale (-10, 5) și mutați pozițiile obiectului Player . SetMotion ( Vector nou ( -10 , 5 ) ) ' Mută ​​obiectul Player . Mutați () ' Obțineți coordonatele X și imprimați pe consola Print Player . GetX ' Destructorul obiectului „Player” este apelat atunci când obiectul iese din domeniul de aplicare . „ Deoarece „Player” este o variabilă locală, destructorul este apelat automat — Așteptând apăsarea oricărei taste Sleep

Note

  1. 12 Versiunea 1.09.0 lansată . Preluat la 1 ianuarie 2022. Arhivat din original la 1 ianuarie 2022.
  2. Mai multe despre FreeBASIC  (engleză)  (downlink) . freebasic.net. - FreeBASIC - funcții chiar mai utile. Consultat la 14 octombrie 2015. Arhivat din original pe 24 octombrie 2015.

Vezi și

Surse

Link -uri

IDE
  • FBIde  - IDE pentru FreeBASIC
  • FbEdit  (link indisponibil)  - un alt IDE pentru FreeBASIC
  • WinFBE - Modern FreeBASIC IDE pentru Windows