About Open Watcom

From Open Watcom

Jump to: navigation, search


Open, Multi-target Integrated Development Environment

The IDE allows you to easily edit, compile, link, debug and build applications for 16-bit systems including DOS, OS/2 1.x, and Windows 3.x , as well as 32-bit systems including extended DOS, Win32 (Windows NT/2000/XP and Windows 95/98/Me), OS/2, Novell NLMs, and Windows 3.x (Win32s and Win386). Projects can be made up of multiple targets which permit a project to include EXEs and DLLs. The IDE produces makefiles for the project which can be viewed and edited with a text editor. The IDE is hosted on Windows or OS/2.

A Wide Range of Host and Target Platforms

Host Platforms

  • Win32 systems (IDE and command line)
  • 32-bit OS/2 (IDE and command line)
  • DOS (command line)
  • Windows 3.x (IDE)

Target Platforms

  • DOS (16-bit)
  • Windows 3.x (16-bit)
  • OS/2 1.x (16-bit)
  • Extended DOS
  • Win32s
  • Windows 95/98/Me
  • Windows NT/2000/XP
  • 32-bit OS/2
  • Novell NLMs

Experimental / Development

  • Linux, BSD, *nix
  • PowerPC, Alpha AXP, MIPS, Sparc v8

Cross-Platform Development Tools

The core tools in the package permit cross-platform development that allows developers to exploit the advanced features of 32-bit operating systems, including Win32, OS/2 and Linux. Cross-platform support allows you to develop on a host development environment for execution on a different target system.

Multi-Platform Debugger

The debugger advances developer productivity. Features include ability to set breakpoints on nested function calls, improved C++ and DLL debugging, reverse execution and configurable interface. Graphical versions of the debugger are available under Windows and OS/2. Text mode versions of the debugger are available under DOS, Windows, OS/2, and Linux (experimental). Through improvements to the DWARF 2 debug format in Open Watcom, the debugger can be used to debug targets made with the GNU toolchain. Gdb should be able to debug targets produced with Open Watcom as well.

Safer C Library / TR 24731

ISO/IEC TR 24731, "Extensions to the C Library, Part I: Bounds-checking interfaces" is present in the C runtime library as of version 1.5. The C compiler defines the macro __STDC_LIB_EXT1__ to indicate this support. More details...

C++ Class Libraries

Open Watcom C/C++ includes container and stream class libraries. An Open Watcom specific STL implementation is in progress, and based on this work a subset of STL is supported.


An assembler is included in the package. It is compatible with a subset of the Microsoft macro assembler (MASM) and includes MMX, 3DNow!, SSE, SSE2, and SSE3 instruction set support. Experimental assemblers for PowerPC, Alpha AXP, and MIPS also exist.


The disassembler may be used to produce listing files or assembly source. It can read OMF, COFF and ELF object files as well as PE and ELF executables. The disassembler supports 16-bit and 32-bit x86 instruction set including MMX, 3DNow!, SSE, SSE2, and SSE3. Support for PowerPC, Alpha AXP, MIPS, and SPARC V8 instruction sets is also built in.

Class Browser

The Browser lets you visually navigate the object hierarchies, functions, variable types, and constants of your C/C++ application.

Performance Analysis

The Open Watcom Execution Sampler and Open Watcom Execution Profiler are performance analysis tools that locate heavily used sections of code so that you may focus your efforts on these areas and improve your application's performance.


The Open Watcom Editor is a context sensitive source editor, integrated into the Windows versions of the IDE. For console platforms a character mode editor is included. The editor is vi compatible, and is operable with standard keys and menu system on GUI based platforms.

Graphical Development Tools

Open Watcom C/C++ includes a suite of graphical development tools to aid development of Windows applications. The development tools include:

Resource Editors
Enable you to create and edit resources for your 16-bit and 32-bit Windows applications. For 32-bit OS/2 Presentation Manager development, Open Watcom C/C++ interoperates with IBM's OS/2 Developer's Toolkit (available from IBM). These tools have been seamlessly integrated into the IDE. The resource compiler allows you to incorporate these resources into your application.
Resource Compiler
Produces a compiled resource file from a source file and binds it to an executable. Supports Win16, Win32, and OS/2 resources.
Magnifies selected sections of your screen.
Heap Walker
Displays Windows 3.x memory usage for testing and debugging purposes.
Monitors messages passed between your application and Windows.
Monitors all DDE activity occurring in the system.
Dr. Watcom
Enables you to debug your program by examining both the program and the system after an exception occurs; monitors native applications running under Win32 or Windows 3.x platforms.

Royalty-free 32-bit DOS Extenders

Open Watcom includes the DOS/4GW 32-bit DOS extender by Tenberry Software with royalty-free run-time and virtual memory support up to 32MB.

Open Watcom also comes with several other free DOS/4GW compatible extenders: CauseWay, DOS/32A, and PMODE/W. CauseWay is fully supported including native debugging of CauseWay applications.

Support for wide range of DOS Extenders

Open Watcom allows you to develop and debug applications based on other DOS extenders, including Tenberry Software's DOS/4G and Phar Lap's TNT DOS Extender. You can also develop applications using FlashTek's DOS Extender but at this point there is no support for debugging these applications. A new addition to the DOS extender family is HX DOS Extender with Win32 API emulation. It is open source and fully supports Open Watcom WD debugging.

Sample programs and applications

Open Watcom C/C++ includes a large set of sample applications to demonstrate the integrated development environment, C runtime library usage, dynamic link libraries (DLLs), Windows and DirectX development, DOS extender development, inter-language calls, OS/2 device driver and SOM development, and more.

Personal tools