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 |
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 Unicode .
- Multe tipuri de variabile încorporate (Byte, UByte, Short, UShort, Integer, UInteger, LongInt, ULongInt, Single, Double, Boolean, String, ZString, WString).
- Tipuri de date definite de utilizator (imbricare infinită, Uniune, tip de câmp (matrice, funcție, câmpuri de biți)).
- Spații de nume .
- Tip enumerat (Enum).
- Caracteristici noi atunci când lucrați cu matrice (până la 2 GB, Redim Preserve).
- Pointeri (indicatori către orice tip de date, adresare indirectă nelimitată).
- Supraîncărcare funcții și operatori.
- Argumente opționale ale funcției .
- Asamblator inline (instrucțiuni de asamblare din codul sursă al programului).
- Preprocesoare .
- typedefs.
- Constructori și destructori de clase.
- Bibliotecă grafică îmbunătățită.
Suport pentru bibliotecile de funcții de programare a aplicațiilor
- Construire interfețe: GTK , FLTK , IUP , WINAPI etc.
- Expresii regulate: PCRE
- IE și Microsoft Office Automation : Disphelper
- Sunet: BASS , fbsound, FMOD etc.
- Grafică: Cairo , FreeType , Allegro , DevIL , FreeImage, DISLIN etc.
- Creare PDF: CD, LibHaru
- Baze de date: mysql , sqlite , postgresql
- Rețea: Curl etc.
- Arhive: Zlib , libzip etc.
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
- ↑ 12 Versiunea 1.09.0 lansată . Preluat la 1 ianuarie 2022. Arhivat din original la 1 ianuarie 2022. (nedefinit)
- ↑ 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
Dialectele limbajului de programare BASIC |
---|
Clasic |
|
---|
tranzitorie |
|
---|
procedural |
|
---|
Obiect |
|
---|
Mobil |
|
---|
Consolă |
|
---|