stringtranslate.com

Watcom C/C++

Watcom C/C++ (actualmente Open Watcom C/C++ ) es un entorno de desarrollo integrado (IDE) de Watcom International Corporation para los lenguajes de programación C , C++ y Fortran . Watcom C/C++ fue un producto comercial hasta que se discontinuó y luego se lanzó bajo la licencia pública Sybase Open Watcom como Open Watcom C/C++. Incluye herramientas para desarrollar y depurar código para los sistemas operativos DOS , OS/2 , Windows y Linux , que se basan en procesadores compatibles con x86 de 16 bits , IA-32 de 32 bits o x86-64 de 64 bits .

Historia

Aunque Sybase ya no los vende comercialmente , el compilador Watcom C/C++ y el compilador Watcom Fortran están disponibles de forma gratuita como el paquete Open Watcom .

La versión estable 1.9 se lanzó en junio de 2010. [2] [3]

Se lanzó una versión bifurcada 2.0 beta que admite hosts de 64 bits (Windows y Linux), editor de texto incorporado, sistema de compilación de 2 fases y la versión DOS admite nombres de archivo largos (LFN). [4]

Historial de versiones

El Wiki de Open Watcom tiene una historia completa. [5] [3]

Tabla de historial de versiones

Licencia

La Iniciativa de Código Abierto ha aprobado la licencia como de código abierto , pero Debian , Fedora y la Free Software Foundation la han rechazado porque "requiere que publiques el código fuente públicamente siempre que "implementes" el software cubierto, y "implementar" se define para incluir muchos tipos de uso privado". [9]

Diseño

El compilador puede operarse desde los sistemas operativos DOS , OS/2 , Windows y Linux y generar código ejecutable para ellos . También admite destinos NLM para Novell NetWare . Se está trabajando para ampliar la capacidad de destino a Linux [10] y a los sistemas operativos BSD modernos (por ejemplo, FreeBSD ), que se ejecutan en procesadores x86 , PowerPC y otros.

El código es portable y, como muchos otros proyectos de compiladores de código abierto como GCC o LCC, el backend del compilador (generador de código) es redireccionable.

Usos

A mediados de la década de 1990, algunos de los juegos de computadora DOS técnicamente más ambiciosos , como Doom , [5] Descent , [5] Duke Nukem 3D , [5] Rise of the Triad , [11] y Tomb Raider se crearon utilizando Watcom C/C++ usando el extensor de modo protegido DOS/4GW con el compilador Watcom.

Se utilizó para portar el juego Retro City Rampage a DOS en 2015. [12]

VirtualBox lo utiliza para compilar la BIOS . [13]

El desarrollo actual de FreeDOS requiere que todo el código fuente de C sea compilable por Open Watcom C. [14]

Open Watcom es el compilador recomendado para el desarrollo de aplicaciones y controladores para el sistema operativo ArcaOS basado en OS/2 . [15]

Variantes

Hay una bifurcación no oficial [16] de Open Watcom V2 en GitHub . [17] Se creó una variante de la biblioteca CRT DOS de 16 bits con WASM . [18]

Compatibilidad

La sintaxis de Open Watcom admite muchas convenciones [ ¿cuáles? ] introducidas por otros compiladores, como los de Microsoft y Borland , incluidas diferentes convenciones [ ¿cuáles? ] con respecto (por ejemplo) al número de guiones bajos iniciales en la etiqueta "asm". El código escrito específicamente para otro compilador en lugar de C o C++ que cumpla con los estándares a menudo se compilará con el compilador de Watcom.

El compilador admite los estándares C89/C90 de forma predeterminada.

Open Watcom admite compatibilidad parcial con el estándar C99 . Implementa las partes más utilizadas del estándar. Sin embargo, se habilitan únicamente a través del modificador de línea de comandos no documentado "-za99". Tres características de C99 se han incluido como extensión de C90 desde versiones anteriores a la v1.0: comentarios de estilo C++ (//), miembros de matriz flexibles, se permite la coma final en la declaración de enumeración. [19]

Actualmente, el compilador no admite ninguna característica nueva [ ¿cuándo? ] de C11 , aunque la biblioteca C sí incluye funciones de "Safe C". Se especifica en ISO/IEC TR 24731-1 [20] [21] y se conoce como "Bounds-checking interfaces (Anexo K)" en C11. Algunos ejemplos de nombres de funciones son strcpy_s(), memcpy_s(), printf_s(). [22] Esta biblioteca se publicó junto con Open Watcom 1.5 en abril de 2006.

Recepción

En una reseña de febrero de 1989 sobre la optimización de compiladores de C, BYTE elogió la "velocidad de ejecución sin igual" de Watcom C 6.5 y señaló que era el más compatible con ANSI C. La revista recomendó: "Si la velocidad es absolutamente crítica y la compatibilidad con OS/2 no lo es, elija Watcom". [23]

Véase también

Referencias

  1. ^ "Compilación del 3 de septiembre de 2024 · open-watcom/open-watcom-v2". GitHub .
  2. ^ "Última versión (junio de 2010) - Open Watcom". Wiki de OpenWatcom.org. Archivado desde el original el 18 de enero de 2015.
  3. ^ ab "Cambios en la versión del compilador C". Open Watcom . 9 de marzo de 2010. Archivado desde el original el 3 de febrero de 2015.
  4. ^ ab Lista de las principales diferencias de v1.9 a v2.0 Beta.
  5. ^ abcd Historial - Open Watcom. Wiki de OpenWatcom.com.
  6. ^ SYBASE INC. ANUNCIA LA VERSIÓN 11.0 DE WATCOM C/C++, que incluye nuevo soporte para la tecnología MMX y soporte mejorado para el lenguaje C++
  7. ^ Aviso de fin de vida útil de Watcom C/C++ versión 11.0
  8. ^ Sybase lanza compiladores de código abierto Watcom C/C++ y Fortran - SciTech Software seleccionado como mantenedor oficial del proyecto Open Watcom
  9. ^ Free Software Foundation. «Varias licencias y comentarios sobre ellas». Sistema operativo GNU . Consultado el 23 de diciembre de 2014 .
  10. ^ Instalación de Open Watcom en Linux - Open Watcom. Wiki de OpenWatcom.org.
  11. ^ "RotT fue escrito en Watcom C++ v10.0 con el extensor Rational Systems DOS/4GW".
  12. ^ "Cómo 5 años de ambición ardiente trajeron Retro City Rampage a DOS". Gamasutra. 10 de julio de 2015.
  13. ^ "#12011 (La compilación del BIOS requiere el compilador Open Watcom)– Oracle VM VirtualBox". www.virtualbox.org . Consultado el 17 de junio de 2017 .
  14. ^ "Especificaciones de FreeDOS". FreeDOS . Archivado desde el original el 1 de mayo de 2019.
  15. ^ "Información para desarrolladores". arcanoae.com . Consultado el 6 de septiembre de 2020 .
  16. ^ "Bifurcación abierta de Watcom V2".
  17. ^ "Proyecto de bifurcación abierta de Watcom V2 en GitHub". GitHub .
  18. ^ "archivo pcdosasm.zip". 27 de julio de 2010. Consultado el 10 de febrero de 2014. Código .. \STARTUP\DOS\CSTRT086.ASM de Open Watcom C/C++ DOS de 16 bits modificado
  19. ^ "Cumplimiento de C99 en Open Watcom" . Consultado el 30 de noviembre de 2020 .
  20. ^ ISO/IEC TR 24731-1; Extensión de la biblioteca C, Parte 1: Interfaces de verificación de límites.
  21. ^ WG14 N1969 — "Experiencia de campo actualizada con el Anexo K — Interfaces de verificación de límites", Carlos O'Donell, Martin Sebor
  22. ^ "Biblioteca C más segura de Open Watcom" . Consultado el 30 de noviembre de 2020 .
  23. ^ Apiki, Steven; Udell, Jon (febrero de 1989). "Suavizando C". BYTE . págs. 170–186 . Consultado el 8 de octubre de 2024 .

Lectura adicional

Enlaces externos

Actual
Archivo