Watcom C/C++ (currently Open Watcom C/C++) is an integrated development environment (IDE) product from Watcom International Corporation for the C, C++, and Fortranprogramming languages. Watcom C/C++ was a commercial product until it was discontinued, then released under the Sybase Open Watcom Public License as Open Watcom C/C++. It features tools for developing and debugging code for DOS, OS/2, Windows, and Linuxoperating systems, which are based upon 16-bit x86, 32-bit IA-32, or 64-bit x86-64 compatible processors.
History
In 2000, Sybase, who owned Watcom International Corporation halted the commercial sale of the Watcom C/C++ and Fortran compilers. In 2003, SciTech Software Inc, a customer of Sybase, negotiated wth Sybase, to have the code for the compilers released as an open source project under a new name, Open Watcom.[2] The Watcom C/C++ compiler and the Watcom Fortran compiler were made available free of charge as the Open Watcom package.
The last stable version endorsed by the original openwatcom.org team was 1.9, released in June 2010.[3][4]
A community-based forked version 2.0 (with continuous updates under the same version moniker) was released after the original codebase was seemingly no longer developed by the original team. It includes miscellaneous bugfixes, supports 64-bit hosts (Windows and Linux), built-in text editor, 2-phase build system, and has a DOS version that supports long filenames (LFN).[5]
Release history
The Open Watcom Wiki has a comprehensive history.[6][4]
Licencia
La Open Source Initiative ha aprobado la licencia como de código abierto , pero Debian , Fedora y la Free Software Foundation la han rechazado porque "exige que publiques el código fuente públicamente cada vez que 'despliegas' el software cubierto, y 'despliegue' se define para incluir muchos tipos de uso privado". [ 10 ]
Diseño
El compilador puede ejecutarse desde los sistemas operativos DOS , OS/2 , Windows y Linux , y generar código ejecutable para ellos . También es compatible con objetivos NLM para Novell NetWare . Se está trabajando para ampliar la compatibilidad a Linux [ 11 ] y a sistemas operativos BSD modernos (por ejemplo, FreeBSD ), que se ejecutan en procesadores x86 , PowerPC y otros.
El código es portable y, al igual que muchos otros proyectos de compiladores de código abierto como GCC o LCC, el backend del compilador (generador de código) se puede reorientar.
Usos
A mediados de la década de 1990, algunos de los juegos de computadora DOS más ambiciosos técnicamente, como Doom , [ 6 ] Descent , [ 6 ] Duke Nukem 3D , [ 6 ] Rise of the Triad , [ 12 ] y Tomb Raider, se crearon utilizando Watcom C/C++ con el extensor de modo protegido DOS/4GW y el compilador Watcom.
Se utilizó para portar el juego Retro City Rampage a DOS en 2015. [ 13 ]
VirtualBox lo utilizó para compilar la BIOS . [ 14 ]
El desarrollo actual de FreeDOS requiere que todo el código fuente C sea compilable por Open Watcom C. [ 15 ]
Open Watcom es el compilador recomendado para el desarrollo de aplicaciones y controladores para el sistema operativo ArcaOS basado en OS/2 . [ 16 ]
Compatibilidad
La sintaxis de Open Watcom admite muchas convenciones introducidas por otros compiladores, como los de Microsoft y Borland , incluyendo convenciones diferentes con respecto a (por ejemplo) la cantidad de guiones bajos iniciales en la etiqueta "asm". El código escrito específicamente para otro compilador, en lugar de C o C++ estándar, a menudo se compilará con el compilador Watcom.
El compilador de C admite de forma predeterminada el estándar ANSI C (C89, C90, ISO C).
Open Watcom admite compatibilidad parcial con el estándar C99 . Implementa las partes más utilizadas del estándar, incluida la declaración de variables en línea. Sin embargo, estas solo se habilitan mediante el parámetro de línea de comandos no documentado "-za99" (que debe agregarse al campo "Otras opciones" en el panel "4. Parámetros varios" de la interfaz gráfica). En una versión más reciente de Open Watcom 2.0, se agregó una casilla de verificación para C99 en el panel "2. Parámetros de diagnóstico" de la interfaz gráfica. Tres características de C99 se han incluido como extensión C90 desde versiones anteriores a la 1.0: comentarios al estilo C++ (//), miembros de matriz flexibles y coma final permitida en la declaración de enumeraciones. [ 17 ]
Actualmente, el compilador no admite ninguna característica importante nueva de C11 , aunque la biblioteca C incluye funciones de "Safe C". Está especificado en ISO/IEC TR 24731-1 [ 18 ] [ 19 ] y se conoce como "Interfaces de comprobación de límites (Anexo K)" en C11. Algunos ejemplos de nombres de funciones son strcpy_s(), memcpy_s(), printf_s(). [ 20 ] Esta biblioteca se publicó junto con Open Watcom 1.5 en abril de 2006.
Recepción
En un artículo de febrero de 1989 sobre la optimización de compiladores C, BYTE elogió la "velocidad de ejecución inigualable" de Watcom C 6.5 y destacó que era el que mejor cumplía con el estándar ANSI C. La revista recomendó: "Si la velocidad es fundamental y la compatibilidad con OS/2 no lo es, elija Watcom". [ 21 ]
Véase también
Referencias
- ↑ "Current-build<! Releases · open-watcom/open-watcom-v2 -->" . GitHub . Consultado el 09-12-2024 .
- ↑ "Open Watcom.org Acerca de nosotros" . Wiki de OpenWatcom.org. Archivado del original el 29 de abril de 2016.
- ↑ "Última versión (junio de 2010) - Open Watcom" . Wiki de OpenWatcom.org. Archivado del original el 18 de enero de 2015.
- 1 2 "Cambios en la versión del compilador C" . Open Watcom . 9 de marzo de 2010. Archivado del original el 3 de febrero de 2015.
- 1 2 Abrir bifurcación de Watcom v2
- 1 2 3 4 Historia - Open Watcom . Wiki de OpenWatcom.com.
- ↑ SYBASE INC. ANUNCIA WATCOM C/C++ VERSIÓN 11.0 Incluye nuevo soporte para la tecnología MMX y soporte mejorado para el lenguaje C++
- ↑ Aviso de fin de vida útil para Watcom C/C++ Versión 11.0
- ↑ Sybase liberará como código abierto los compiladores C/C++ y Fortran de Watcom: SciTech Software ha sido seleccionada como mantenedora oficial del proyecto Open Watcom.
- ↑ Fundación del Software Libre. "Varias licencias y comentarios sobre ellas" . Sistema Operativo GNU . Consultado el 23 de diciembre de 2014 .
- ↑ Instalación de Open Watcom en Linux - Open Watcom . Wiki de OpenWatcom.org.
- ↑ "RotT fue escrito en Watcom C++ v10.0 con el extensor DOS/4GW de Rational Systems" . Archivado del original el 10 de noviembre de 2014.
- ↑ "Cómo 5 años de ardiente ambición llevaron Retro City Rampage a DOS" . Gamasutra. 10 de julio de 2015.
- ↑ "#12011 (La compilación de BIOS requiere el compilador Open Watcom) – Oracle VM VirtualBox" . www.virtualbox.org . Consultado el 17 de junio de 2017 .
- ↑ "Especificación de FreeDOS" . FreeDOS . Archivado del original el 1 de mayo de 2019.
- ↑ "Información para desarrolladores" . arcanoae.com . Consultado el 6 de septiembre de 2020 .
- ↑ "Cumplimiento de la norma C99 en Open Watcom" . Archivado del original el 29 de marzo de 2021.
- ↑ ISO/IEC TR 24731-1; Extensión de la biblioteca C, parte 1: Interfaces de comprobación de límites.
- ↑ WG14 N1969 — "Experiencia de campo actualizada con el Anexo K: interfaces de verificación de límites", Carlos O'Donell, Martin Sebor
- ↑ "Open Watcom Safer C Library" . Archivado del original el 24 de marzo de 2021. Consultado el 30 de noviembre de 2020 .
- ↑ Apiki, Steven; Udell, Jon (febrero de 1989). "Smoothing Out C" . BYTE . págs. 170–186 . Recuperado el 8 de octubre de 2024 .
Lecturas adicionales
- Watcom C/C++ estrena nueva imagen : reseña en la revista BYTE de octubre de 1994.
- Preguntas frecuentes para programadores de C/C++ de WATCOM
Enlaces externos
- Actual
- Abrir Watcom v2 en GitHub
- Abrir Watcom v2
- Archivo
- Abrir Watcom 1.9 en GitHub
- Open Watcom 1.9 – (Archivadoel 17 de marzo de 2015 enWayback Machine)
- Sybase Watcom C/C++ versión 11.0 – ( Archivado el 13 de octubre de 1999 en Wayback Machine )
- Compiladores de C (lenguaje de programación)
- compiladores de C++
- Software anteriormente propietario
- Software de 2003