abrir watcom | |
---|---|
Tipo de | Entorno de desarrollo de software |
Desarrolladores |
Watcom , Sybase , SciTech Software , comunidad abierta |
Escrito en | xi |
Sistema operativo | Software multiplataforma |
Primera edición | 28 de enero de 2003 |
ultima versión | 1.9 (junio de 2010) |
Estado | Activo |
Licencia | Sybase Open Watcom Public License versión 1.0 (uso privado no comercial permitido) |
Sitio web | openwatcom.org |
Open Watcom es un proyecto comunitario de código abierto para apoyar y desarrollar compiladores multiplataforma Watcom C, C++ y Fortran y programas relacionados [1] . La licencia de código abierto de Sybase sólo permite el uso no comercial del paquete Open Watcom por parte de particulares [2] .
La historia del compilador comienza en 1965, cuando cuatro estudiantes de la Universidad de Waterloo en Canadá , bajo la dirección de un profesor, crearon el compilador de Fortran WATFOR [4] en tres meses de trabajo . Se ejecutó en las plataformas IBM 7040 , IBM System/360 y DEC PDP-11 . En 1980, se desarrolló una nueva versión para IBM 360 e IBM PC , que admitía el estándar Fortran 77. Un año después, se formó Watcom, que introdujo el compilador C en 1988 .
Los compiladores C y C++ de Watcom fueron valorados por los desarrolladores de DOS por generar código compacto y rápido, y por estar entre los primeros compiladores en ofrecer compatibilidad con el modo protegido para los procesadores Intel 80386 . A mediados de la década de 1990, algunos juegos de DOS como Doom , Descent , Duke Nukem 3D , Warcraft II fueron compilados por Watcom C.
En 2003, tras problemas con la nueva versión del compilador, así como la imposibilidad de competir con Microsoft , Sybase , que adquirió Watcom en 1995, decidió abrir el código fuente de los compiladores. Así, se creó el proyecto Open Watcom bajo el auspicio de SciTech Software . El compilador Open Watcom no es totalmente compatible con el estándar C ++ , lo que no permite que se considere un compilador C ++ completo y dificulta su uso generalizado; sin embargo, el proyecto encuentra su uso en la creación de programas para DOS obsoletos y Sistemas OS/2 .
Aunque Sybase ya no vende compiladores de Watcom, están disponibles como paquete de software de fuente abierta OpenWatcom a través de SciTech. Después del lanzamiento de la versión 1.9, el desarrollo del proyecto cesó y el mantenimiento continuó en la bifurcación de OpenWatcom v2, que lanzó la versión 2.0 con muchas mejoras y correcciones [5] .
El código fuente de los compiladores es portátil y, como muchos otros compiladores gratuitos como gcc , su generador de código (backend) se puede personalizar para una plataforma de destino diferente.
Los compiladores pueden ejecutarse en (host: plataforma del desarrollador) y compilar código ejecutable para (destino: plataforma de destino) los sistemas operativos DOS , OS/2 y Windows . se admite la creación de módulos NLM Novell NetWare
Se está trabajando para portar compiladores a Linux [6] y las últimas versiones de BSD (por ejemplo, FreeBSD ) que se ejecutan en x86 , PowerPC y otras plataformas.
Open Watcom C/C++ versión 1.4, lanzada en diciembre de 2005, tiene soporte experimental para Linux x86 como plataforma de destino.
Hay código para admitir QNX 4.25 [7] , pero la compilación de ejecutables requiere bibliotecas no libres.
Se está trabajando para mejorar la compatibilidad del compilador C/C++ con el estándar C99 (ISO/IEC 9899:1999). [8] Hasta ahora, esta sigue siendo una característica no documentada de los compiladores Open Watcom C/C++ hasta que se complete el trabajo para implementar el soporte completo para el estándar, y se establece mediante la opción de línea de comando -za99.
Watcom C/C++ 11.0 ya incluía algunas extensiones del lenguaje C que luego se estandarizaron en C99. Entre ellos:
Desde el código abierto de las herramientas de Watcom, los miembros de la comunidad de desarrolladores de Open Watcom han realizado muchas mejoras para admitir el estándar C99:
IDE | |
---|---|
Universal | |
C / C++ | |
BÁSICO | |
Java |
|
Pascal | |
PHP |
|
Pitón | |
código de acción | |
rubí | |
comparación |