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). 

外部連結