FreeBASIC es un compilador y lenguaje de programación multiplataforma gratuito y de código abierto basado en BASIC , con licencia GNU GPL para Microsoft Windows , MS-DOS en modo protegido ( extensor de DOS ), Linux , FreeBSD y Xbox . La versión para Xbox ya no recibe mantenimiento. [ 2 ]
Según su sitio web oficial, [ 3 ] FreeBASIC proporciona compatibilidad de sintaxis con programas escritos originalmente en Microsoft QuickBASIC (QB). Sin embargo, a diferencia de QuickBASIC, FreeBASIC es un compilador solo de línea de comandos , a menos que los usuarios instalen manualmente un entorno de desarrollo integrado (IDE) externo de su elección. [ 4 ]
Características del compilador
En su arquitectura interna , FreeBASIC utiliza GNU Binutils para generar aplicaciones de consola e interfaz gráfica de usuario . FreeBASIC admite la vinculación y creación de bibliotecas estáticas y dinámicas de C , y ofrece soporte limitado para bibliotecas de C++ . Por lo tanto, el código compilado en FreeBASIC puede reutilizarse en la mayoría de los entornos de desarrollo nativos.
Aunque no es un compilador optimizador , FreeBASIC puede transcompilar opcionalmente a C para compilar con optimizaciones. FreeBASIC admite ensamblador en línea , multihilo y no utiliza recolección automática de basura .
Se admite el preprocesamiento al estilo C , incluyendo macros multilínea , compilación condicional e inclusión de archivos. El preprocesador también tiene acceso a la información de símbolos y a la configuración del compilador, como el dialecto del lenguaje .
Sintaxis
Inicialmente, FreeBASIC emuló la sintaxis de Microsoft QuickBASIC lo más fielmente posible. Posteriormente, el lenguaje continuó su evolución. Como resultado, FreeBASIC combina varios dialectos para lograr la máxima compatibilidad con QuickBASIC y acceso completo a las características modernas. [ 5 ] Entre las nuevas características se incluye la compatibilidad con conceptos como objetos , sobrecarga de operadores , sobrecarga de funciones , espacios de nombres y otros. [ 6 ]
Los caracteres de salto de línea indican la finalización de las instrucciones de programación. Una instrucción de programación puede distribuirse en varias líneas consecutivas mediante el carácter de continuación de línea de guion bajo (_), mientras que varias instrucciones pueden escribirse en una sola línea separándolas con dos puntos (:).
Se admiten comentarios en bloque , así como comentarios al final de la línea. Los comentarios de línea completa se hacen con un apóstrofo' , mientras que los bloques de código comentado comienzan con /'y terminan con '/.
FreeBASIC no distingue entre mayúsculas y minúsculas.
Biblioteca de gráficos
FreeBASIC ofrece soporte gráfico integrado compatible con QuickBASIC mediante FBgfx, que se incluye automáticamente en los programas que llaman a este SCREENcomando. Su backend utiliza OpenGL por defecto en Linux y DirectX en Microsoft Windows . Esta abstracción permite que el código gráfico de FBgfx sea compatible con múltiples plataformas. Sin embargo, FBgfx no cuenta con aceleración por hardware.
Los usuarios familiarizados con utilidades gráficas externas como OpenGL o la API de Windows pueden utilizarlas sin interferir con la biblioteca gráfica integrada.
dialectos lingüísticos
A medida que FreeBASIC ha evolucionado, se han realizado cambios que han requerido romper la sintaxis de estilo anterior. Para seguir siendo compatible con programas escritos con la sintaxis anterior, FreeBASIC ahora admite los siguientes dialectos:
- El dialecto predeterminado ( -lang fb como argumento de línea de comandos ) admite todas las nuevas características del compilador y no permite la sintaxis arcaica.
- El dialecto FB-lite ( -lang fblite ) permite el uso de la mayoría de las nuevas características no orientadas a objetos, además de la programación de estilo antiguo. En este dialecto se permiten variables implícitas, sufijos,
GOSUB/RETURN, etiquetas numéricas y otras características. - El dialecto QB ( -lang qb ) intenta replicar el comportamiento de QuickBASIC y es capaz de compilar muchos programas QuickBASIC sin modificaciones.
Código de ejemplo
Los programas estándar, como el programa "¡Hola, mundo!", se realizan de la misma manera que en QuickBASIC.
Imprime "¡Hola, mundo!"dormir: fin 'Comentario, evita que la ventana del programa se cierre instantáneamenteFreeBASIC amplía esto con soporte para características orientadas a objetos , como métodos , constructores , asignación dinámica de memoria , propiedades y asignación temporal.
Tipo Vector Privado : x Como Entero y Como Entero Público : Declarar Constructor ( nX Como Entero = 0 , nY Como Entero = 0 ) Declarar Propiedad getX Como Entero Declarar Propiedad getY Como Entero Fin TipoConstructor Vector ( nX As Integer , nY As Integer ) x = nX y = nY Fin del constructorVector de propiedad . ObtenerX como entero. Devolver x. Fin de la propiedad.Vector de propiedad . ObtenerY como entero. Devolver y. Fin de la propiedad.Dim As Vector Ptr jugador = Nuevo Vector ()* jugador = Tipo < Vector > ( 100 , 100 ) Imprimir jugador -> obtenerX Imprimir jugador -> obtenerYEliminar jugadorEl modo de suspensión impide que la ventana del programa se cierre instantáneamente.En ambos casos, el idioma es muy adecuado para fines de aprendizaje.
Referencias
- ↑ El equipo de desarrollo de FreeBASIC (22 de julio de 2023). "fbc/readme.txt en 1.10.1 · freebasic/fbc" . Github . Consultado el 24 de mayo de 2026 .
- ↑ FBWiki : FaqPgxbox
- ↑ Lenguaje de programación freeBASIC: Sitio web oficial
- ↑ "Página de descargas del sitio web oficial de freeBASIC" . Compilador freeBASIC . Consultado el 13 de mayo de 2017 .
- ↑ "dialectos de freeBASIC" . Página principal de coderJeff . Consultado el 5 de febrero de 2012 .
- ↑ "Diferencias con QB" . Documentación de freeBASIC.net . Consultado el 5 de febrero de 2012 .
Enlaces externos
- Sitio web oficial
- FreeBASIC en GitHub
- FreeBASIC en SourceForge
- Entornos de desarrollo integrados (IDE)
- WinFBE - Editor moderno de FreeBASIC para Windows
- VisualFBEditor - IDE gráfico multiplataforma
- fbide.freebasic.net — FBIDE Entorno de desarrollo integrado para freeBASIC
- FBEdit (actual) — Editor de código fuente FBEdit para FreeBASIC, versión 1.0.7.6c
- Editor de código fuente FBEdit para freeBASIC (versión obsoleta: 1.0.6.8) en SourceForge
- Compiladores BASIC
- Compiladores libres y de código abierto
- Lenguajes de programación orientados a objetos
- Bibliotecas informáticas gratuitas
- Software de autoalojamiento
- Software libre programado en BASIC
- Software para DOS
- Herramientas de programación para Windows
- Herramientas de programación Linux
- Lenguajes de programación creados en 2004
- Software que utiliza la Licencia Pública General de GNU.
- Lenguajes de programación
- Lenguajes de programación de alto nivel
- Software de 2004
- Familia de lenguajes de programación BASIC
- Lenguajes de programación de tipado estático