Rich Dawe's C Page


C was, and still is, one of the best languages to program in if you want speedy programs. It also happens to be the language that's used by most of the software industry, which means its quite important. It's also the language that I do most of my programming in.

Most people buy their C compilers, but there are free ones out there on the Internet. This page is not dedicated to the free ones, it's just that I don't have any relevant links to the commercial ones (yet).

If you're going to obtain one of the free C compilers below, then you should choose based on which platform you're programming for. Cygnus Win32 (which was still in beta at the time of writing) is for Windows '95 and NT programming (hence the name), whereas DJGPP is for writing 32-bit DOS-extended programs (e.g. games!).

General Pages

C Programming Course

Cygnus Win32

This isn't just a C compiler, but a port of a whole load of Unix utilities to Windows 32 (i.e. '95 and NT). I think the eventual aim is to provide all the utilities that are available on Unix to NT. I have Beta16 of this compiler, but I haven't tried any programming with it yet.

The C compiler is a port of GNU C, and comes with all the Unixy header files. I think you can access Windows API functions with the compiled code. You can certainly write DLLs with it. As you can probably tell, I'm not entirely sure what it's capable of. It's probably best to look at the project's home page:

Cygnus Win32 home page


DJGPP is a port of the GNU C compiler to DOS. It can produce 32-bit DOS-extended applications, which can be run using a free DPMI provider (obtainable with DJGPP). One can also obtain lots of GNU utilities ported to DOS using DJGPP, such as GNU-Emacs, bash, etc. It's also completely free =) .

DJGPP has grown quite a lot in popularity recently, if activity in the newsgroup is anything to go by. This could be due to the fact that the compiler is free, and everyone in the newsgroup is friendly and gives useful advice. Another factor could be that Quake was written using DJGPP.

Being a port of GNU C, it is a Unix-style thing. So, you have to write makefiles rather than have some IDE do it for you. However, an IDE for DJGPP called RHIDE came out recently, so it looks like DJGPP is getting friendlier.

Home Site & FAQs

DJGPP Home Page


DJGPP newsgroup (comp.os.msdos.djgpp)

Mirrors Of DJGPP Distribution

DJGPP directory in the Simtelnet mirror at Sunsite UK
DJGPP directory in the Simtelnet mirror at HENSA

Add-On Libraries

Allegro library - graphics, sound, mouse, compression
JPTUI library - text user interface
libsocket - BSD socket library
WATTCP - Socket library using packet drivers

Other DJGPP Pages

DJGPP Book Project
Brennan's DJGPP 2 and games programming
DJGPP Tutorial

3D for DJGPP v2.x and Allegro v2.x

Impulse's DJGPP page
Nathan Kopp's DJGPP Page


If you have any (constructive) comments, please e-mail me on