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
Compilador FreeBASIC
Tipo de compilador , lenguaje de programación y lenguaje de programación orientado a objetos
Desarrolladores El equipo de desarrollo de FreeBASIC
Escrito en BÁSICO
Sistema operativo Microsoft Windows , Linux , DOS y FreeBSD
Primera edición 2004
plataforma de hardware x86 , x86_64 , ARMv7 [d] y ARMv8
ultima versión 1.08.1 [1] (9 de julio de 2021 ) ( 2021-07-09 )
Licencia GNU GPL
Sitio web freebasic.net
 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 bibliotecas de funciones de programación de aplicaciones

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

  1. 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.
  2. 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