FreeBASIC estas komputila programlingvo de altnivela sintakso la plej proksima al QuickBASIC, kaj kompililo por tiu (FreeBASIC Compiler). Origine kompililo kreita kiel libera alternativo Microsoft QuickBasic, sed rapide kovritis per novaj karakterizaĵoj kaj fariĝis potenca ilo por la disvolviĝo de programaro. La unua versio de la tradukilo estis skribitaj en Visual Basic, sed nun li povas kompili mem (skribita en FreeBASIC).
| Ĉi tiu artikolo bezonas poluradon, ĉar ĝi montras stilajn kaj/aŭ gramatikajn kaj/aŭ strukturajn problemojn, kiuj ne konformas al stilogvido.
La priskribo de la problemo troviĝas ĉi tie. Bonvolu ŝanĝi la enhavon por plibonigi la artikolon. |
Kompililo
[redakti | redakti fonton]Kompilas QBasic kaj FreeBASIC Kodo por 32-bite plenumebla Win32, DU (en modo protektita) kaj Linukso x86 moduloj. Koncentrante kaj aranĝo fariĝas per la GNU Binary Utilities.
Kompililo distribuita sub la GNU GPL, normo biblioteko - la GNU LGPL.
Ekzistas pluraj komunikiloj evoluo, kiel la erarserĉilo povas uzi la GNU sencimigilo.
Programlingvo
[redakti | redakti fonton]Malgraŭ la fakto ke la kompililo estas kongrua kun QuickBASIC, FreeBASIC lingva aldoniĝis multaj plibonigoj kaj karakterizaĵoj renkonti modernaj postuloj, normoj kaj kongruo kun bibliotekoj kaj API skribita en C / C ++. Komencante kun la versio 0.17, la uzanto povas selekti tri modojn de kompilaĵo (nedeviga -lang): kongruo modon QuickBASIC (qb), malnovaj versioj FreeBASIC (evitinda), kaj norma modo, kio inkluzivas ĉiujn lastaj disvolviĝoj kaj karakterizaĵoj.
Novaj karakterizaĵoj kaj plibonigoj[1]
[redakti | redakti fonton]- Subteno por Unikodo.
- Multaj korpigita tipoj variabloj (Byte, UByte, Short, UShort, Integer, UInteger, LongInt, ULongInt, Single, Double, String, ZString, WString).
- Uzanto-difinita datumtipoj (malfinia nestumado, Sindikato, kampo tipo (tabelo, funkcio, iom kampoj)).
- Nomspacoj.
- Numeritaj tipo (Enum).
- Novaj ŝancoj kiam laborante kun tabeloj (ĝis 2 GB en grandeco, Redim Konservu).
- Pointers (punteros al ajna tipo de datumoj, senlima nerekta parolante).
- Superŝarĝas de funkcioj kaj operatoroj.
- Laŭvola argumentoj funkcioj.
- Konstruita-en ensamblador (ensamblador instrukciojn en fontkodon programo).
- Antaŭtraktiloj.
- Diseñadores kaj destructors klasoj.
- Plibonigita grafika biblioteko.
Ekzemplaj programoj
[redakti | redakti fonton]Saluton, mondo!
[redakti | redakti fonton]Uzante la enkonstruita en biblioteko FreeBASIC:
Print("Saluton, mondo!")
Uzante la norma biblioteko C:
#Include"crt.bi" puts(!"Saluton, mondo!\n")
Uzante la Windows API:
#Include"windows.bi" MessageBox(null,"Saluton, mondo!","Message", MB_OK)
Objekteman programadon
[redakti | redakti fonton]'Klaso vektoro TypeVector WAsInteger HAsInteger DeclareConstructor(ByValnWAsInteger,ByValnHAsInteger) EndType ConstructorVector(ByValnWAsInteger,ByValnHAsInteger) W=nW H=nH EndConstructor TypeAObject Private: XAsInteger YAsInteger MovementAsVectorPointer Public: 'Ekstere videbla metodoj, inkludante la constructor kaj destrojero DeclareConstructor(ByValnXAsInteger,ByValnYAsInteger) DeclareDestructor() DeclareSubSetMotion(ByValMotionAsVectorPointer) DeclareSubMove() DeclarePropertyGetXAsInteger EndType 'Ŝanĝu al Defaŭlta ConstructorAObject(ByValnXasInteger,ByValnYasInteger) X=nX Y=nY EndConstructor 'memoro pureco DestructorAObject() deleteMovement EndDestructor 'Instalado vektoro SubAObject.SetMotion(ByValMotionAsVectorPointer) Movement=Motion EndSub 'Movas la objekto kune la vektoro SubAObject.Move() X+=Movement->W Y+=Movement->H EndSub 'Redonas X, nealirebla de ekstere PropertyAObject.GetXAsInteger ReturnX EndProperty DimPlayerAsAObject=Type<AObject>(100,100) Player.SetMotion(NewVector(-10,5)) Player.Move() Print(Player.GetX) Sleep
Referencoj
[redakti | redakti fonton]- ↑ Plej gravaj karakterizaĵoj. Arkivita el la originalo je 2011-07-18. Alirita 2014-09-19 .
Eksteraj ligiloj
[redakti | redakti fonton]- FreeBASIC en la Vikimedia Komunejo (Multrimedaj datumoj)
- Kategorio FreeBASIC en la Vikimedia Komunejo (Multrimedaj datumoj)
