The Watcom C/C++ compiler is a compiler for the computer programming languages C and C++ that produces executable programs for several platforms and operating systems. In the mid-1990s some of the most technically ambitious MS-DOS computer games such as Doom,[1] Descent,[1] Duke Nukem 3D,[1] and Rise of the Triad[2] were built using Watcom C/C++, some such as ROTT using the DOS/4GW protected mode extender with the Watcom compiler.
Though no longer sold commercially by Sybase, the Watcom C/C++ compiler and the Watcom Fortran compiler have been made available as a gratis and questionably open source Open Watcom package with the assistance of SciTech Software. The code is portable and, like many other open source compiler projects such as GCC or LCC the compiler backend (code generator) is retargetable. The compiler can be operated from, and generate executable code for, the DOS, OS/2, Linux and Windows operating systems. It also supports NLM targets for Novell NetWare. There is ongoing work to extend the targeting to Linux[3] and modern BSD (e.g., FreeBSD) operating systems, running on x86, PowerPC and other processors. The Open Watcom C/C++ version 1.4 release on December 2005 introduced Linux x86 as an experimental target, supported from NT or OS/2 host platforms. There is code for an abandoned QNX version, but libraries necessary for it to be compiled could not be released as open source.[citation needed] Stable version 1.9 was released in June 2010.[4]
Release history
The Open Watcom Wiki has a comprehensive history.[1]
Date | Product | Notes |
---|
1984 | Waterloo C for S/370 | |
1985 | | Work on current code generator codebase started |
1988 | Watcom C 6.0 | - DOS host and target only
- Included a debugger and full set of runtime libraries
- Generated better code than other compilers at the time
- Watcom C Version 6.5 contained Graphics Library similar to Microsoft Graphics Library
|
1989 | Watcom C 7.0 | |
1989 | Watcom C 7.0/386 | - First 32-bit version, DOS host and target only
- Supported Phar Lap DOS extender
- Did not come with a linker or debugger
|
1990 | Watcom C 8.0 | |
1990 | Watcom C 8.0/386 | |
1991 | Watcom C 8.5 | |
1991 | Watcom C 8.5/386 | |
1992 | Watcom C 9.0 | |
1992 | Watcom C 9.0/386 | - OS/2 2.0 host and target support
- 486 optimizations
- Based pointer support
|
| Watcom C 9.01/386 | |
1993 | Watcom C/C++ 9.5 | |
1993 | Watcom C/C++ 9.5/386 | - C++ compiler added
- Pentium optimizations
- Windows NT host and target support
|
1994 | Watcom C/C++ 10.0 | - MFC included
- Precompiled header support
- 16-bit and 32-bit tools merged into single package
- Redesigned debugger
- C++ class browser added
- Windows resource editors added
- Graphical IDE for Windows and OS/2
|
1995 | Watcom C/C++ 10.5 | |
1996 | Watcom C/C++ 10.6 | - Structured exception handling in C
- Improved compatibility with Microsoft compilers
|
1997 | Watcom C/C++ 11.0 | - Namespace, RTTI, and new style cast support in C++ compiler
- 64-bit integer support
- Multi-byte character support in libraries
- Incremental linking support
- COFF and ELF object file support in linker and librarian
- Microsoft clone tools added
- DLL based tools for better IDE integration
|
1998 | Watcom C/C++ 11.0B | |
1999 | | Sybase issues end-of-life notice for Watcom C/C++ 11.0 |
2000 | | Sybase announces open sourcing of Watcom tools |
2001-09-27 | Watcom C/C++ 11.0c Beta | |
2002-12-21 | Watcom C/C++ 11.0c | |
2003-01-28 | Open Watcom 1.0 | |
2003-08-12 | Open Watcom 1.1 | |
2004-01-07 | Open Watcom 1.2 | |
2004-08-03 | Open Watcom 1.3 | |
2005-12-14 | Open Watcom 1.4 | |
2006-04-26 | Open Watcom 1.5 | |
2006-12-15 | Open Watcom 1.6 | |
2007-08-18 | Open Watcom 1.7 | |
2007-10-23 | Open Watcom 1.7a | |
2009-02-21 | Open Watcom 1.8 | |
2010-06-02 | Open Watcom 1.9 | |
Compatibility with other compilers
Open Watcom's syntax supports many conventions introduced by other compilers, such as Microsoft's and Borland's, including differing conventions regarding (for instance) the number of leading underscores on the "asm" tag. Code written specifically for another compiler rather than standard-compliant C or C++ will often compile with the Watcom compiler.
See also
References
External links