Someone recently asked about compilers. Here are the free
Windows C compilers I know of:
DJGPP, a free 32-bit development system for DOS by
James G. Delorie at
http://www.delorie.com.
I downloaded it
once to compile a text MUD, and it nearly blew my mind and
filled my hard disk. Once I got it installed and running, it
worked fine. This was years ago; I kind of get the idea it
tends to be big and complicated. It still calls itself
"... for DOS" so I don't know if it does Windows
executables.
lcc, a free 32-bit C compiler for Windows and Wedit,
a Windows-based IDE for it by Jacob Navia, Dave Hanson and
Chris Fraser at
http://www.cs.virginia.edu/~lcc-win32.
This is my current favorite. The compiler is small and fast, the IDE
is useable, it installs very easily and it comes with
extensive helpful documentation, including the WinHelp file
for the Windows API, which is a must if you're doing this kind
of stuff. I've written about 3 rinky-dink Windows programs
with it and had almost no problem. For a Windows hater, that's
good.
gcc, the gnu C compiler, by (I think) the Free
Software Foundation at
http://www.gnu.org is not a Windows
product; don't bother trying to download it if you don't have
a Unix (Linux) box. But if you do, I recently read an article
that says that gcc has cross-compatibility modes and files
which allow you to build a Windows executable right under
Linux. Maybe a worthwhile thing to try out if you, too, are a
Windows hater.
The Borland C++ Compiler 5.5 is a commercial product
by one of the market leaders which is now being given away at
http://www.borland.com/bcppbuilder/freecompiler/.
This is not a labor of love stitched together in someone's
garage, it's a program that was originally intended to compete
with Microsoft's Visual C++. They claim to be ANSI compliant,
do templates, STL and other stuff. The reason it's being given
away probably has a lot to do with marketing. They want you to
register with them. It's free, but they want your name, email
and underwear size.
THE PROGRAMMER GENERAL ADVISES THAT HAVING A C COMPILER
DOES NOT MAKE YOU A C PROGRAMMER; IN FACT IT DOES NOT MAKE YOU
AN EXPERT AT ANYTHING, NOR WILL IT MAKE IT EASIER TO
UNDERSTAND ISHTAR'S CODING. DOWNLOADING AND INSTALLING THE
COMPILER WILL FILL UP YOUR HARD DISK AND POSSIBLY YOUR WINDOWS
REGISTRY. COMPILING C PROGRAMS WILL FILL YOUR SCREEN WITH
ERROR MESSAGES THAT WILL MAKE YOU TEAR YOUR HAIR OUT. RUNNING
YOUR OWN FIRST C PROGRAMS ENTAILS A HIGH RISK OF HALTING OR
CRASHING YOUR COMPUTER, TRASHING YOUR CONFIGURATION OR
FORMATTING YOUR DISK.
Having said that, if you really want to learn C, then
having a compiler will help you get the essential practice.
But you will need help: There are a number of tutorials on the
Web, though I would rather recommend a good book. Some books
come complete with a cheap version of a compiler like C++
Builder on a CD-ROM, so you won't have to fry your phone line
and waste years of your youth downloading the compiler from
the Net.