Recent Changes - Search:

Recently Written


edit SideBar

Devel Cand CPP

1.  Introduction, C versions, C vs C++ , why use this language

  • C89
  • C99
  • C11
  • !!writeme!!

2.  C and C++ Compilers

2.1  OpenWatcom

Formerly a professional commercial compiler, started as 16-bit compiler of C language for 8086 CPU, later added a separate compiler with 32-bit support for 80386, and even later merged the compilers together and dropped 16-bit host support (thus needs at least 80386 as host CPU), and added C++ and other languages too. In 2002 the project got freed and open sourced, and renamed from “WATCOM” to “OpenWatcom”.

Now supports 16-bit and 32-bit target, real and protected mode, uses DOS extenders, like DOS/32A (download HXDEV for HX/LOADPEX support, on host side it still uses DOS/4GW), supports C , C++ and Fortran77 languages. Latest version is 1.9 from 2010-Jun (as usual, every release causes brutal criticism about quality of DOS support, but works well (???) finally, just 1.4 to 1.6 (???) were really bad). Version 1.9 added LFN support, to disable it, see manual or use 1.8 or 1.7a from 2007-Oct-23 (“1.7a” is a minor fix to previous “1.7″).

Project page:

Alternative download info:… (OpenWATCOM Wiki)… - An (unofficial ?) WATCOM FAQ, you might find “some” useful info there, OTOH many claims are pretty obsolete, and most links broken.

2.2  CC386

by David Lindauer AKA LADSoft

An almost unknown but nice 32-bit compiler of the C language (C89, C99 (mostly), some extensions, no C++ ), project page also contains some (older) DOS related infos & code (ASM and C examples), latest version is 4.20 from 2014-Jan-21. Also an INFOPAD editor is included, with syntax highlight for C and ASM source files, quite buggy in the past, but now almost well working. The compiler core is self-compilable and all included tools (modified NASM, VALX linker, IMAKE, INFOPAD) compile with it too. In the past author repeatedly proclaimed the death of the project, but then continued after some time. Recently (2013) the focus switched from CC386 to OCC compiler (see below), and CC386 is supposed to be abandoned in favor of OCC.

Project page:

2.3  OCC

by David Lindauer AKA LADSoft

  • C89, C99, C11, some extensions, C++ in development
  • according to the author a completely “new work” - still it’s based on CC386, but heavily rewritten, and source code switched to C++
  • author uses MSVC to compile it, as it is not yet self-compilable
  • latest version is 5.0.10 from 2014-Mar-29
  • no “real” DOS host - needs HX to run
  • DOS target (WATCOM LE)
  • A “new” INFOPAD included (buggy in 5.0.3 , retest needed)

Project page:

2.4  GCC (Linux)

Compiler core reused by DGJPP and MinGW (Windows).

2.5  DJGPP

32-bit C and C++ compiler based on GCC, see separate page: DJGPP .

2.6  Digital Mars C++

Like OpenWatcom, this compiler can be used to generate code for 16-bit and 32-bit, real and protected mode, from C , C++ and D (!) sources. There is direct support for 32-bit DOS-extended programs, using the X-32 DOS extender (not very good ?) . A small problem with Digital Mars is that the compiler core is supplied as Win32 binary only, so in DOS you will need HXRT to run it (the linker, librarian and other tools are - still - 32-bit DOS extended programs).


2.7  Microsoft Visual C++ (16bit)

The last MS VC version which was able to generate 16-bit code is MS VC++ V1.52c. It’s also the last version which supports DOS as target platform. It was a commercial product (of course), is no longer sold and not freely available. It can be possibly downloaded from MSDN after paying a Visual Studio license. The commandline tools (compiler, linker, …) are DOS-extended applications (using the Phar Lab TNT DOS extender). An IDE is included, but the one of v1.52 is for Windows only (16-bit) - the last version which also had an IDE for DOS (PWB, Programmer’s WorkBench) was MS VC++ v1.00. MS VC++ 1.52c is probably the best optimizing C(++) compiler for 16-bit ever.

Warning: the product is dated 1993, so it’s clear that the C++ compiler is somewhat outdated and doesn’t support the more recent features of this language.

2.8  TCC - Tiny C Compiler - Started by Fabrice Bellard , now maintained by Grischka , the smallest and simplest C (no C++ ) compiler (that’s why it’s here in ;-) ), use Win32 version with HX-DOS Extender. Fast compiling, ideal for testing C code, less for “serious” DOS projects, since no native DOS target, and low efficiency of generated code. Latest version is 0.9.26 from 2013-Feb-15.

2.9  Desmet-C - A very small 16-bit C compiler under GPL.

2.10  Sphinx C - -

http : // c- -sphinx.narod . ru / indexe.htm - A small C - - compiler for DOS and Win32. Both 16-bit and 32-bit DOS is supported. Page mostly in Russian language.

2.11  Smaller C compiler

Project hosted only at “github” , but binaries are also there, and one can download an all-in-one ZIP file containing the source+binary files together.

2.12  Borland / Turbo C / C++

Abandonware, latest DOS hosted version with full IDE was 3.0 . Now pretty outdated, for example FreeDOS EDIT was made with it. No more information yet.

3.  C programming pages and resources

4.  See also

Edit - History - Print - Recent Changes - Search
Page last modified on June 26, 2014, at 01:18 PM