GratisBÁSICO
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 7 de octubre de 2017; las comprobaciones requieren
29 ediciones .
GratisBÁSICO |
---|
|
clase de idioma |
multi- paradigma : imperativo , procedimental , estructural , orientado a objetos |
tipo de ejecución |
compilado |
Apareció en |
2004 |
Autor |
El equipo de desarrollo de FreeBASIC |
Desarrollador |
El equipo de desarrollo de FreeBASIC |
extensión de archivo |
.baso.bi |
Liberar |
1.09.0 [1]
(1 de enero de 2022 ) ( 2022-01-01 ) |
sistema de tipos |
estricto, estático |
Dialectos |
pensión completa |
sido influenciado |
QuickBÁSICO , C |
Licencia |
GNU GPLv2+ , bibliotecas estándar con licencia GNU LGPLv2+ |
Sitio web |
freebasic.net |
Plataforma |
x86 , x86_64 , ARMv7 [d] y ARMv8 |
sistema operativo |
Linux , Windows , DOS , FreeBSD , MacOS (no completamente) |
Archivos multimedia en Wikimedia Commons |
FreeBASIC es un lenguaje de programación de alto nivel que es más cercano en sintaxis a QuickBASIC , así como un compilador para él (FreeBASIC Compiler). Inicialmente, el compilador se desarrolló como una alternativa gratuita a Microsoft QuickBasic, pero pronto adquirió nuevas funciones, convirtiéndose en una poderosa herramienta de desarrollo. Aunque las primeras versiones del compilador se escribieron en Visual Basic , ahora puede compilarse solo.
Compilador
Compila código QBasic y FreeBASIC en módulos ejecutables Win32 , DOS ( modo protegido ) y Linux x86 de 32 y 64 bits.
El ensamblaje y enlace se realiza con GNU Binutils .
El compilador se distribuye bajo los términos de GNU GPL y la biblioteca estándar bajo GNU LGPL .
Hay varios entornos de desarrollo , puede usar GNU Debugger como depurador (también se admite gprof).
Idioma
Aunque el compilador es compatible con QuickBASIC, se han agregado muchas extensiones y funciones al lenguaje FreeBASIC para cumplir con los requisitos, estándares y compatibilidad modernos con bibliotecas y API escritas en C/ C++ . A partir de la versión 0.17, el usuario puede seleccionar tres modos de compilación (opción -lang): modo de compatibilidad con QuickBASIC (qb), versiones antiguas de FreeBASIC (en desuso) y modo estándar, que incluye todos los cambios y funciones más recientes.
Nuevas funciones y extensiones [2]
- Compatibilidad con Unicode .
- Muchos tipos de variables integradas (Byte, UByte, Short, UShort, Integer, UInteger, LongInt, ULongInt, Single, Double, Boolean, String, ZString, WString).
- Tipos de datos definidos por el usuario (anidamiento infinito, unión, tipo de campo (matriz, función, campos de bits)).
- Espacios de nombres .
- Tipo enumerado (Enum).
- Nuevas funciones al trabajar con arreglos (hasta 2 GB de tamaño, Redim Preserve).
- Punteros (punteros a cualquier tipo de datos, direccionamiento indirecto ilimitado).
- Sobrecarga de funciones y operadores.
- Argumentos de funciones opcionales .
- Ensamblador en línea (instrucciones del ensamblador en el código fuente del programa).
- Preprocesadores .
- definiciones de tipo
- Constructores y destructores de clases.
- Biblioteca de gráficos mejorada.
Compatibilidad con bibliotecas de funciones de programación de aplicaciones
- Interfaces de construcción: GTK , FLTK , IUP , WINAPI , etc.
- Expresiones regulares: PCRE
- IE y Microsoft Office Automatización : Disphelper
- Sonido: bajo, fbsound , FMOD, etc.
- Gráficos: Cairo , FreeType , Allegro , DevIL , FreeImage, DISLIN, etc.
- Creación de PDF: CD, LibHaru
- Bases de datos: mysql , sqlite , postgresql
- Red: Rizo , etc.
- Archivos: Zlib , libzip, etc.
Ejemplos de programas
Hola Mundo!
Usando la biblioteca FreeBASIC incorporada:
Imprimir "¡Hola mundo!"
Usando la biblioteca estándar de C:
# Incluir "crt.bi"
pone ( ! "¡Hola, mundo!\n" )
Usando la API de Windows :
# Incluir "windows.bi"
MessageBox ( Nulo , "¡Hola, mundo!" , "Mensaje" , MB_OK )
Programación orientada a objetos
' Vector de clase Vector de
tipo 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 ' Clase para crear un tipo AObject Privado: X como entero Y como entero Movimiento como puntero vectorial Público: ' Métodos visibles externamente, incluido el constructor y el destructor Declarar constructor ( nX como entero , nY como entero ) Declarar destructor () Declarar sub SetMotion ( Movimiento como puntero vectorial ) Declarar sub mover () Declarar propiedad GetX As Integer End Type ' Establecer valores predeterminados Constructor AObject ( nX As Integer , nY As Integer ) X = nX Y = nY End Constructor ' Desasignar memoria Destructor AObject () Eliminar movimiento End Destructor ' Establecer vector Sub AObject . SetMotion ( Movimiento como puntero de vector ) Movimiento = Movimiento End Sub ' Mueve el objeto a lo largo de su vector Sub AObject . Mover () X += Movimiento -> W Y += Movimiento -> H End Sub ' Devuelve la coordenada X no accesible desde fuera de la propiedad AObject . GetX As Integer Return X End Property 'Inicio real del programa ' Crea una instancia de la clase en las coordenadas (100, 100) Dim Player As AObject = Type < AObject > ( 100 , 100 ) ' Crea un vector con valores iniciales (-10, 5) y mueve las posiciones del objeto Player . SetMotion ( Nuevo Vector ( -10 , 5 )) ' Mueve el objeto Player . Move () ' Obtiene la coordenada X e imprime en la consola Print Player . GetX ' El destructor del objeto "Jugador" se llama cuando el objeto sale del alcance ' Como "Jugador" es una variable local, el destructor se llama automáticamente
'Esperando que se presione cualquier tecla
Dormir
Notas
- ↑ 12 Lanzamiento de la versión 1.09.0 . Consultado el 1 de enero de 2022. Archivado desde el original el 1 de enero de 2022. (indefinido)
- ↑ Más sobre FreeBASIC (inglés) (enlace descendente) . freebasic.net. - FreeBASIC: características aún más útiles. Consultado el 14 de octubre de 2015. Archivado desde el original el 24 de octubre de 2015.
Véase también
Fuentes
Enlaces
IDE
- FBIde - IDE para FreeBASIC
- FbEdit (enlace no disponible) - otro IDE para FreeBASIC
- WinFBE - Modern FreeBASIC IDE para Windows
Dialectos del lenguaje de programación BASIC |
---|
Clásico |
|
---|
transicional |
|
---|
procesal |
|
---|
Objeto |
|
---|
Móvil |
|
---|
Consola |
|
---|