Site Tools

User Tools


C Programming

I originally started learning the C programming language several years ago in college and attempted to learn it on my own for a few years after that. I didn't get far, but I amassed quite a few books in the attempt. Later on I came across Thinking in C++ that recommended that readers unfamiliar with C go through the Thinking in C material.

I used it along with:

By the time I made it to the various types of pointers I was wide eyed and very unnerved. I wouldn't say I was lost exactly, but well roasted for sure.

While I have deep respect for professional C programmers and find the language interesting, I was glad to get back to learning C++ 1).

My Notes

Online Resources

Various resources in no particular order (I'll eventually organize them)

  • apitalk.com - Resource center and source code repository (has useful articles)

Windows specific

Forums

Books

Current

Currently, I'm not attempting to learn this language. I'm focusing instead on C++. Many authors teach C++ from the perspective that C++ is simply an evolved C, and while that may be the case, C++ has evolved to where it's possible to leave many (if not all) of the C constructs behind.

With that said I will likely be returning to this language at some point as there are many libraries out there that are intended for C.

Queued

IDEs and Compilers

The descriptions are borrowed from the tool websites

  • DJGPP is a complete 32-bit C/C++ development system for Intel 80386 (and higher) PCs running DOS. It includes ports of many GNU development utilities. The development tools require a 80386 or newer computer to run, as do the programs they produce. In most cases, the programs it produces can be sold commercially without license or royalties.
  • Digital Mars C and C++ Compilers for Win32, Win16, DOS32 and DOS. Fastest compile/link times, powerful optimization technology, Design by Contract, complete library source, HTML browsable documentation, disassembler, librarian, resource compiler, make, etc., command line and GUI versions, tutorials, sample code, online updates, Standard Template Library, and much more.
  • MinGW A collection of freely available and freely distributable Windows specific header files and import libraries, augmenting the GNU Compiler Collection, (GCC), and its associated tools, (GNU binutils). MinGW provides a complete Open Source programming tool set which is suitable for the development of native Windows programs that do not depend on any 3rd-party C runtime DLLs.9)

Compiler lists

Cool tools

Windows specific

  • Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules.
1) Even though I resorted to purchasing other books to ease me into C++
2) Other web content of theirs has either been relocated or removed
3) It's always interesting to hear opposing points of view
4) Widely regarded as the authoritative reference on C programming.
5) PDF copy of Google's cache from August 2008.
6) I used an Academic Edition from 1994 in my class so I imagine this 1999 copy is missing the typos/bugs in my copy.
7) This was recommended as a prereq for 2nd edition, Volume 1 of Thinking in C++ by Bruce Eckel. Chuck Allison is the instructor for this material.
8) It appears this supersedes all his other C programming books. Good reviews too.
9) This is what I'm using to learn C++.