Watcom C/C++
| Watcom C/C++ Open Watcom C/C++
| |
|---|---|
Hallo-Welt-Programm in der IDE von Open Watcom C/C++. | |
| Basisdaten
| |
| Entwickler | Watcom International Corporation, Sybase |
| Erscheinungsjahr | 1988 |
| Aktuelle Version | 11.0c[1][2] (21. Dezember 2002) 1.9 (Open Watcom)[1] (2. Juni 2010) |
| Aktuelle Vorabversion | 2.0 (Open Watcom)[3] (4. September 2025) |
| Betriebssystem | Linux, DOS, OS/2, Microsoft Windows[4] |
| Programmiersprache | C |
| Kategorie | Compiler, IDE |
| Lizenz | Sybase Open Source Licence[5] |
| deutschsprachig | nein |
| openwatcom.org | |
Watcom C/C++ ist ein Compiler und eine Entwicklungsumgebung für die Programmiersprachen C und C++.
Der Compiler ermöglicht die Entwicklung von Anwendungen für die Zielplattformen Linux, DOS, NetWare, OS/2, Windows 1.0, Windows 2.x, Windows 3.x (incl. Win32s), Windows 9x und Windows NT.[4]
Es werden die Befehlssatzarchitekturen x86 (16- und 32-Bit) unterstützt. Die Vorabversion von Open Watcom C/C++ 2.0 unterstützt zusätzlich den x64-Befehlssatz (64-Bit).[6]
Bei den Compilern von Watcom C/C++ handelt es sich um Cross-Compiler. Diese können also Programme für andere Betriebssysteme erzeugen.[7][8] Aus der 32-Bit-Entwicklungsumgebung für Windows NT können also beispielsweise 16-Bit-Programme erzeugt werden, die im Real Mode unter MS-DOS laufen.[4]
Geschichte
[Bearbeiten | Quelltext bearbeiten]Die nachfolgende Tabelle enthält eine Auswahl der wichtigsten Änderungen der einzelnen Versionen:[1][9]
| Version | Datum | Beschreibung |
|---|---|---|
| Waterloo C for S/370 | 1984 |
|
| Watcom C 6.0 | 1988 |
|
| Watcom C 7.0 | 1989 |
|
| Watcom C 7.0/386 | ||
| Watcom C 8.0 | 1990 |
|
| Watcom C 8.0/386 |
| |
| Watcom C 8.5 | 1991 |
|
| Watcom C 8.5/386 | ||
| Watcom C 9.0 | 1992 |
|
| Watcom C 9.0/386 | ||
| Watcom C 9.01/386 |
| |
| Watcom C 9.5 | 1993 |
|
| Watcom C 9.5/386 | ||
| Watcom C/C++ 10.0 | 1994 |
|
| Watcom C/C++ 10.5 | 1995 |
|
| Watcom C/C++ 10.6 | 1996 |
|
| Watcom C/C++ 11.0 | 1997 |
|
| Watcom C/C++ 11.0b | 1998 | |
| Watcom C/C++ 11.0c | 21. Dezember 2002 |
|
| Open Watcom 1.0 | 28. Januar 2003 |
|
| Open Watcom 1.1 | 12. August 2003 |
|
| Open Watcom 1.2 | 7. Januar 2004 |
|
| Open Watcom 1.3 | 3. August 2004 |
|
| Open Watcom 1.4 | 14. Dezember 2005 |
|
| Open Watcom 1.5 | 26. April 2006 |
|
| Open Watcom 1.6 | 15. Dezember 2006 |
|
| Open Watcom 1.7 | 18. August 2007 |
|
| Open Watcom 1.7a | 23. Oktober 2007 |
|
| Open Watcom 1.8 | 21. Februar 2009 |
|
| Open Watcom 1.9 | 2. Juni 2010 |
|
| Open Watcom 2.0 | 2. April 2015 |
|
Neben Watcom C 6.0 wurde 1988 auch eine günstigere, im Funktionsumfang reduzierte Entwicklungsumgebung namens Watcom Express C veröffentlicht.[10][19]
Nachdem die kommerzielle Vermarktung von Watcom C/C++ 2002 eingestellt wurde, wird das Produkt unter dem Namen Open Watcom C/C++ als Open-Source-Projekt kostenlos angeboten. Neben dem Compiler für C/C++ umfasst das Projekt auch noch den Open Watcom Assembler und Open Watcom Fortran 77.[20][8]
Werkzeuge
[Bearbeiten | Quelltext bearbeiten]Neben der Hauptanwendung umfasst die Entwicklungsumgebung von Watcom C/C++ einige (z. T. optionale) Werkzeuge. Vor der Veröffentlichung von Open Watcom beinhaltete Watcom C/C++ neben den hauseigenen Werkzeugen auch Komponenten des Windows SDKs von Microsoft. Einige Werkzeuge überschneiden sich daher in ihrem Zweck. In Open Watcom wurden die Werkzeuge von Microsoft entfernt.[9]
Werkzeuge von Watcom
[Bearbeiten | Quelltext bearbeiten]Watcom C/C++ und Open Watcom C/C++ stellen u. a. folgende Werkzeuge zur Verfügung:[21][22]
- Dr. Watcom
Eine Alternative bzw. ein Nachbau der Software Dr. Watson von Microsoft.[23] - Watcom Source Browser
Ein Programm zur Visualisierung von Klassenbäumen und Abhängigkeiten. - Watcom Dialog Editor
Ein Nachbau des Microsoft Dialog Editors. Ein WYSIWYG-Editor zur Gestaltung von grafischen Benutzeroberflächen. - Watcom DDE Spy
Ein Nachbau von Microsoft DDE Spy zur Überwachung von DDE-Nachrichten. - Watcom Spy
Nachbau von Microsoft Spy bzw. Spy++ zur Überwachung von GUI-Nachrichten. - Watcom Image Editor
Nachbau des Microsoft Image Editors. Ein Editor für Rastergrafiken (BMP, ICO, CUR) - Watcom Resource Editor
Ein Editor für RES-Dateien. Für Dialog-Ressourcen wird extern der Watcom Dialog Editor geöffnet und für Grafiken der Watcom Image Editor. Für Menüs und String-Tabellen existieren interne Editoren. Das Programm kann auch Ressourcen aus ausführbaren Dateien (u. a. EXE und DLL) anzeigen. - Watcom Profiler
Leistungsüberwachung von Programmfunktionen.[24] - Watcom Debugger
Ein Nachbau des Debuggers WinDbg von Microsoft. U. a. wird auch Remote-Debugging unterstützt. Anwendungen für Novell NetWare (NetWare Loadable Modules, NLM) können nur via Remote-Debugging überwacht werden. Um die Kommunikation zwischen NetWare und dem Debugger zu ermöglichen, werden entsprechende NLMs mitgeliefert.[25] - Watcom Zoom
Ein Nachbau von Microsoft ZoomIn. Eine Softwarelupe.
Werkzeuge von Microsoft
[Bearbeiten | Quelltext bearbeiten]Aus dem Windows SDK waren bis einschließlich Watcom C/C++ 11.0c u. a. folgende Programme enthalten:
- Microsoft Dialog Editor
Ein WYSIWYG-Editor zur Gestaltung von grafischen Benutzeroberflächen. - Microsoft DDE Spy
Überwachung von DDE-Nachrichten. - Microsoft Spy
Überwachung von GUI-Nachrichten. - Microsoft Image Editor
Ein Editor für Rastergrafiken (BMP, ICO, CUR) - WinDbg
Ein Debugger. - WinDiff
Ein Werkzeug zum Vergleich von zwei Dateien. - Microsoft ZoomIn
Eine Softwarelupe. - Microsoft Process Viewer
Eine Software zum Überwachen von gerade ausgeführten Prozessen. Es können auch Prozesse von anderen Rechnern im Netzwerk überwacht werden, sofern dafür eine Berechtigung vorliegt. - Microsoft PortTool
Ein Werkzeug, das alte API-Elemente im Quellcode automatisiert durch neuere Versionen ersetzen kann. Beispielsweise können die 16-Bit-Funktionen, -Makros und -Strukturen der Windows-API in die entsprechenden 32-Bit-Pendants umgewandelt werden. - Microsoft API Monitor
Tracking von externen Funktionsaufrufen.[24] - Microsoft DispTest
Eine im Funktionsumfang reduzierte Version der IDE von Visual Basic 3.0, mit der keine ausführbaren Dateien erstellt werden können. Das Programm dient v. a. zum Testen von VBX-Steuerelementen und generell von 16-Bit-COM-Komponenten, die u. a. mit Watcom C/C++ erstellt werden können. - Microsoft Font Editor
Erstellung und Bearbeitung von Bitmap-Schriftarten im FNT-Format. - Microsoft Help Workshop
Erstellung von Hilfe-Dateien auf Basis von WinHelp (HLP-Format). - Microsoft OLE/COM Object Viewer
Ein Browser für alle registrierten COM-Objekte des Betriebssystems. Zudem können auch einzelne Typbibliotheken angezeigt werden.[26] - Microsoft Object Viewer (WinObj)
Browser für Betriebssystemobjekte. Inzwischen ist die Software Teil von Windows Sysinternals.[27] - Microsoft TAPI Browser
Übersicht über alle Komponenten und Funktionen der TAPI-Schnittstelle.
Vergleich mit anderen Compilern für C/C++
[Bearbeiten | Quelltext bearbeiten]Obwohl Watcom C 9.5 auf einer vergleichbaren Stufe mit Visual C++ 1.5 oder Borland C++ 4.0 stand, bot die Softwareumgebung keine Klassenbibliothek für Windows an.[23] Visual C++ besaß MFC und Borland C++ OWL.[28]
Da der Watcom C Compiler im Vergleich zu den damaligen Konkurrenzprodukten besonders schnellen Code erzeugen konnte und ab Version 8.5 den DOS4GW DOS-Extender mitlieferte, mit dem 32 Bit Protected-Mode-Programme geschrieben werden konnten und dessen Runtime-Lizenz gebührenfrei war, wurde er zur Entwicklung mehrerer namhaften Spiele wie beispielsweise Doom, Descent, Death Rally, Retro City Rampage, Duke Nukem 3D, Vollgas und Warcraft 2 eingesetzt.[20][29][30][31]
Literatur
[Bearbeiten | Quelltext bearbeiten]- Wayne Russell: Watcom C/C++ Unleashed. Sams, ISBN 0-672-30893-2 (englisch).
- Ulla Kirch, Peter Prinz: C – Lernen und professionell anwenden: Mit Microsoft Visual Studio Express 2012 und Open Watcom-Compiler auf der DVD. 3. Auflage. MITP, 2013, ISBN 978-3-8266-9504-9.
- Andrew Schulman: Inside Watcom C 7.0/386. In: Dr. Dobb’s Journal. Band 15, Nr. 3, März 1990, ISSN 1044-789X, S. 74–83 (englisch, Volltext [abgerufen am 27. August 2025]).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- GitHub-Projekt. (englisch).
- Watcom C/C++ 11.0c und Open Watcom C/C++ 1.0–1.9 Downloads. (englisch, einschließlich Dokumentation im PDF-Format).
- Open Watcom C Library Reference (Version 2.0). (PDF; 2,1 MB; englisch).
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ a b c Project History. In: wiki.openwatcom.org. 25. Mai 2012, archiviert vom am 29. März 2021; abgerufen am 18. Mai 2025 (englisch).
- ↑ Hajo Schulz: Watcoms C/C++ und Fortran werden Open Source. In: Heise online. 23. August 2000. Abgerufen am 26. August 2025.
- ↑ Open Watcom v2 Releases. In: github.com. Abgerufen am 4. September 2025 (englisch).
- ↑ a b c Open Watcom C/C++ Getting Started (Version 2.0). (PDF; 447 kB) Chapter 1: Introduction to Open Watcom C/C++. In: open-watcom.github.io. S. 1–6, abgerufen am 26. August 2025 (englisch).
- ↑ The Sybase Open Source Licence (SPDX short identifier: Watcom-1.0). In: opensource.org. Abgerufen am 9. Mai 2025 (englisch).
- ↑ a b Open Watcom v2 Fork. In: open-watcom.github.io. Abgerufen am 26. August 2025 (englisch).
- ↑ Oliver Lau: C/C++-Compiler Open Watcom in Version 1.4 veröffentlicht. In: Heise online. 20. Januar 2006. Abgerufen am 16. Mai 2025.
- ↑ a b Michael Wilde: OpenSource-Compiler für C/C++ und Fortran freigegeben. In: Heise online. 8. Februar 2003. Abgerufen am 12. Mai 2025.
- ↑ a b Release Notes for Open Watcom C/C++ 1.9:
- Differences from Version 11.0
- Differences from Open Watcom Version 1.0
- Differences from Open Watcom Version 1.1
- Differences from Open Watcom Version 1.2
- Differences from Open Watcom Version 1.3
- Differences from Open Watcom Version 1.4
- Differences from Open Watcom Version 1.5
- Differences from Open Watcom Version 1.6
- Differences from Open Watcom Version 1.7
- Differences from Open Watcom Version 1.8
- ↑ a b Stephen Randy Davis et al.: Compiling the facts on C: Evaluating the traits of the new generation of C compilers. In: PC Magazine. Band 7, Nr. 15. Ziff Davis, 13. September 1988, ISSN 0888-8507, Watcom C, S. 115–183 (englisch, Volltext in der Google-Buchsuche).
- ↑ Karen D. Moser: Watcom claims first tool set to tap Windows, 32-bit memory: developers of CAD, math programs targeted. In: PC Week. Band 8, Nr. 3, 21. Januar 1991, ISSN 0740-1604 (englisch): “Watcom Group Inc announces C 8.0/386 for Windows […] that will let programmers create full 32-bit applications for the Microsoft Windows 3.0 interface while taking advantage of all of the features of the 80386 microprocessor.”
- ↑ Michal Necasek: Watcom Win386. In: os2museum.com. 4. Mai 2012, abgerufen am 27. August 2025 (englisch).
- ↑ Watcom C Language Reference (Open Watcom 2.0): Based Pointers for Open Watcom C/16 and C/32. In: open-watcom.github.io. Abgerufen am 27. August 2025 (englisch).
- ↑ Jacek M. Sawoniewicz: Precompiled Headers. In: pja.edu.pl. Polish-Japanese Academy of Information Technology, abgerufen am 27. August 2025 (englisch).
- ↑ Readme: B-level Notes. In: Watcom C/C++ Version 11.0b. (readme.txt auf Installationsdatenträger). 24. Februar 1998 (englisch): “The SOM toolkit for OS/2 is no longer supported, and has been removed in this version.”
- ↑ Sybase to Open Source Watcom C/C++ and Fortran Compilers: SciTech Software Selected as Official Maintainer for the Open Watcom Project. In: sybase.com. 22. August 2000, archiviert vom am 25. September 2000; abgerufen am 27. August 2025 (englisch).
- ↑ Chapter 6.2.11: Designated Initializers. Abgerufen am 30. August 2025 (englisch).
- ↑ Peter C. Chapin: Open Watcom v1.7a released. In: os2world.com. 8. November 2007, abgerufen am 4. September 2025 (englisch).
- ↑ Of Interest. In: Dr. Dobb’s Journal. Band 13, Nr. 3, März 1988, ISSN 1044-789X, S. 130–132 (englisch, Volltext [abgerufen am 6. September 2025]).
- ↑ a b Open Watcom Dot Org: About Us. In: openwatcom.com. Archiviert vom am 29. April 2016; abgerufen am 7. Mai 2025 (englisch).
- ↑ Watcom Graphical Tools User’s Guide (Version 11.0c). (PDF; 1,5 MB) In: downloads.openwatcom.org. 2000, abgerufen am 8. September 2025 (englisch).
- ↑ Open Watcom Graphical Tools User’s Guide (Version 1.9). (PDF; 1,7 MB) In: open-watcom.github.io. 2010, abgerufen am 8. September 2025 (englisch).
- ↑ a b Nancy Micolaisen: Watcom C/C++ [16] / Watcom C/C++ [32]. In: PC Magazine. Band 13, Nr. 6. Ziff Davis, 29. März 1994, ISSN 0888-8507, S. 221–225 (englisch, Volltext in der Google-Buchsuche).
- ↑ a b Ron van der Wal: Source-Code Profilers for Win32. In: Dr. Dobb’s Journal. Band 23, Nr. 3, März 1998, ISSN 1044-789X (englisch, Volltext [abgerufen am 9. September 2025]).
- ↑ Debugging a Novell NLM. In: open-watcom.github.io. Abgerufen am 17. Oktober 2025 (englisch).
- ↑ OLE/COM Object Viewer. In: learn.microsoft.com. Microsoft, abgerufen am 9. September 2025 (englisch).
- ↑ WinObj. In: learn.microsoft.com. Microsoft, abgerufen am 9. September 2025 (englisch).
- ↑ Jens Bartschat: Kurztutorial zur Windowsprogrammierung unter C++. Hrsg.: Universität der Bundeswehr. München 1995, ISBN 3-8386-4018-7, Kapitel 1.4: Klassenbibliotheken, S. 8 (eingeschränkte Vorschau in der Google-Buchsuche).
- ↑ Michal Necasek, Christian Hennecke: Watcom C/C++ 11.0c unter OS/2 nutzen. In: os2voice.org. November 2001, abgerufen am 15. Oktober 2025.
- ↑ Jari Komppa: Porting from DOS to Windows: Step by step through Death Rally’s journey to the new millennium. In: Game Developer. Band 17, Nr. 4. UBM, April 2010, ISSN 1073-922X, S. 38–41 (englisch, Volltext [ vom 10. Juni 2021 im Internet Archive] [PDF; 23,2 MB]).
- ↑ Wouter Groeneveld: The Creative Programmer. Manning, Shelter Island 2023, ISBN 978-1-63343-905-4, Kapitel 5.4.6: First-Google-hit coding, S. 113 f. (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “The now open source and fully documented Open Watcom C/C++ toolkit used to compile the game [Retro City Rampage] was also used by DOOM, Duke Nukem 3D, and Full Throttle.”