Watcom C/C++编译器

Watcom C/C++ 编译器DOS开发环境中,以编译后的 exe 执行档运行高速而著称,且是首个支持Intel 80386 "保护模式"的编译器。于90年代中期,不少在技术上具有雄心的游戏(例如 DoomDescentDuke Nukem 3D)都以 Watcom C 写成。[1]

Open Watcom
原作者Watcom、Sybase 公司、SciTech 软件公司
开发者开源社群
首次发布2003-01-28
当前版本1.9(2010-06-02)
源代码库github.com/open-watcom/open-watcom-v2
编程语言C, C++
操作系统多平台
文件大小73.8 Mb
类型Integrated Development Environment
许可协议Sybase Open Watcom Public License version 1.0
网站www.openwatcom.org

Watcom C/C++ 编译器、Watcom Fortran 编译器 已经在不其先前所属公司Sybase售卖, 而被 SciTech 软件公司 作为 Open Watcom 开源包 发行。类似于其他的 开源编译器(例如 [GCC])项目,Watcom C代码小而便携, 其编译器后端(代码生成器)的目标码可变。该编译器可在DOS、OS/2Windows等操作系统上运行,并生成各种可运行的(不必是该操作系统的)代码。该编译器支持Novell NetWareNLM 目标码。目前正进行 为 Linux[2] 、现今的 BSD (例如FreeBSD) 操作系统 重定目标码, 以便在 x86PowerPC 及其它处理器上运行。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
  • 首个 32位版本, 祗在 DOS平台编译、DOS平台运行
  • 支持 Phar Lap DOS extender
  • 未自带 连接器(linker)、调试器(debugger)
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
  • 增加 C++ 编译器
  • Pentium 优化
  • 可在Windows NT平台编译、Windows NT平台运行
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)支持 COFFELF目标文件
  • 增加 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语法兼容其他(例如 MicrosoftBorland)编译器, 对“_asm”标识符支持(for instance)略有不同。 其他编译器能对付的C代码 Watcom也能对付, 而且质量更优、效率更高。

引用

  1. ^ History - Open Watcom. [2009-10-13]. (原始内容存档于2006-10-20). 
  2. ^ Installing Open Watcom on Linux - Open Watcom. [2015-05-06]. (原始内容存档于2015-05-06). 
  3. ^ Latest Release (June 2010). [2009-10-13]. (原始内容存档于2015-03-17). 
  4. ^ Open Watcom Wiki. [2009-10-13]. (原始内容存档于2012-02-04). 

外部链接