Watcom C/C++ 编译器在DOS开发环境中,以编译後的 exe 執行檔运行高速而著称,且是首个支持Intel 80386 "保护模式"的编译器。于90年代中期,不少在技术上具有雄心的游戏(例如 Doom、Descent、Duke Nukem 3D)都以 Watcom C 写成。[1]
Watcom C/C++ 编译器、Watcom Fortran 编译器 已经在不其先前所属公司Sybase售卖, 而被 SciTech 软件公司 作为 Open Watcom 开源包 发行。类似于其他的 开源编译器(例如 [GCC])项目,Watcom C代码小而便携, 其编译器後端(代码生成器)的目标码可变。该编译器可在DOS、OS/2、Windows等操作系统上运行,并生成各种可运行的(不必是该操作系统的)代码。该编译器支持Novell NetWare的 NLM 目标码。目前正进行 为 Linux[2] 、現今的 BSD (例如FreeBSD) 操作系统 重定目标码, 以便在 x86、 PowerPC 及其它处理器上运行。Open Watcom C/C++ 的1.4版于2005年12月发行,采用 Linux x86 为实验目标, 支持NT、OS/2等host平台。 也曾有某被弃置的QNX版本,但其编译所须的库并未开源发行。 当前最近的稳定版本是1.9版,在2010年6月发行。[3]
发行历史
综观如下[4]
日期 |
产品名 |
注
|
1984 |
Waterloo C for S/370 |
|
1985 |
|
在当前的代码生成器上运作
|
1988 |
Watcom C 6.0 |
- 祗在 DOS平台编译、DOS平台运行
- 含 调试器(debugger)、整套 runtime library (執行期程式庫,又譯作運行時庫)
- 生成的代码 优于 同期的编译器
|
1989 |
Watcom C 7.0 |
|
1989 |
Watcom C 7.0/386 |
|
1990 |
Watcom C 8.0 |
|
1990 |
Watcom C 8.0/386 |
- 增加了 连接器(linker)、库管理器(librarian)、调试器(debugger) 与 分析器(profiler)
- 增加了 图形库
|
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平台编译、OS/2 2.0平台运行
- 486优化
- 支持基指针(based pointer)
|
|
Watcom C 9.01/386 |
|
1993 |
Watcom C/C++ 9.5 |
|
1993 |
Watcom C/C++ 9.5/386 |
|
1994 |
Watcom C/C++ 10.0 |
- 包含MFC
- 支持预编译头文件(Precompiled header)
- 16位、32位工具放入同一个包里面
- 重新设计了调试器(debugger)
- 增加了C++类的浏览器(browser)
- 增加了Windows资源编辑器(resource editor)
- Windows、OS/2上的图形化整合開發環境(IDE)
|
1995 |
Watcom C/C++ 10.5 |
|
1996 |
Watcom C/C++ 10.6 |
- C语言 的结构化异常处理(Structured exception handling)
- 改良了与Microsoft编译器的兼容度。
|
1997 |
Watcom C/C++ 11.0 |
- C++ 编译器支持命名空間(Namespace)、RTTI、新的型別轉換(cast)
- 支持64位整数
- 库支持 多字节(Multi-byte)字母名
- 支持 Incremental linking
- 在连接器(linker)、库管理器(librarian)支持 COFF、ELF目标文件
- 增加 Microsoft 克隆工具
- 基於動態連結庫(DLL)的工具,以強化與 IDE 間的整合
|
1998 |
Watcom C/C++ 11.0B |
|
1999 |
|
Sybase 发布 Watcom C/C++ 11.0 的產品壽命終結(end-of-life)通告
|
2000 |
|
Sybase 宣告 Watcom工具 开源
|
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 |
|
与其他编译器的兼容性
Open Watcom的C语法兼容其他(例如 Microsoft、Borland)编译器, 对“_asm”标识符支持(for instance)略有不同。 其他编译器能对付的C代码 Watcom也能对付, 而且质量更优、效率更高。
引用
外部链接