Web www.grok2.com
grok2.gif (391 bytes)



The C Programming Language

This page is a collection of links related to the C programming language.

  • People

  • Free Compilers

  • References

  • Books

  • Interesting Articles

  • Tutorials

  • Programming, Tools & Resources

  • Miscellaneous

  • My C related blog articles

  • People

    Brian W. Kernighan
    Dennis Ritchie
    P.J. Plauger
    Rob Pike
    Steve Summit

    Free Compilers

    GNU C Compiler: The most famous and widely used at present. Primarly for Unix and Unix-like platforms.
    DJGPP: Port of the GNU development utilties to the Intel 32-bit platforms.
    Cygwin: This is an environment and a port of most GNU utilties including the GCC set to the Windows platform.
    MinGW: Minimalist GNU for Windows. Includes support for the GNU Compiler Collection (GCC).
    Turbo C: Remember Turbo C from Borland? Now it is available as a free download. Though it's a little out of date, it still is extremely usable.
    Borland C++ Builder: The compiler and command line tools are available as a free download.
    OpenWatcom Compilers: The original Watcom compilers are now available as open source software.
    Digital Mars C/C++ Compiler: Offshoot of the Zortech/Symantec C/C++ Compilers (probably it is the Zortech compiler re-incarnated). Touted as drop in replacements for the Symantec C/C++ compilers.
    lcc: Portable compiler for ANSI C.
    lcc-win32: Free for non-commerical use. Windows support with IDE, etc.
    Pelles C: Based on lcc. With IDE, etc for Windows platform.
    Ch: This is actually an interpreter. Standard edition is free.
    EiC: Extensible Interactive C. Another interpreter.


    Dinkum C Library Reference
    The International C Standardization Working Group: Links to the actual standards and other documents
    Steve Summit's C FAQ: Online version. There is also a book.
    Whats new in C9X: Some information on new things added to the C language by ISO C99 (By Thomas Wolf). The official list is here.
    C Library Reference
    A tutorial on C pointers


    C Programming Language, Brian W. Kernighan & Dennis Ritchie, Prentice-Hall Publishing: The original book that introduced the C programming language. Popularly known as K&R.

    The Practice of Programming, Brian W. Kernighan & Rob Pike, Addison-Wesley, Inc.

    The Elements of Programming Style, Brian W. Kernighan & PJ Plauger

    The Standard C Library, PJ Plauger

    Standard C: A Reference, PJ Plauger & Jim Brodie

    The Practice of Programming, Brian W. Kernighan & Rob Pike

    C: A Reference Manual, Samuel P. Harbison & Guy L. Steele

    The C Book (Online Edition)

    Interesting Articles

    History of development of the C programming language

    Henry Spencer's Ten Commandments for C Programmers

    Rob Pike on C Style

    Writing bug-free C code


    Introductory C Programming

    Debugging and Analyzing C and C++ Programs

    Programming, Tools & Resources

    Cyclone is a safe dialect of C being developed at AT&T Research in collaboration with Cornell University

    Vault is a safe version of the C language being developed at Microsoft Research

    Information about a whole bunch of code comprehension tools is here

    cinclude2dot (old, new): Generates a graph of the #include relationships within a C source tree using graphviz

    Doxygen: Generate documentation from source code

    Splint is a sophisticated lint program that also checks for security vulnerabilities in C code

    GCC Translation Framework (including ANSI & GNU C Parser and Lexer)

    Visualize Function Calls with GraphViz

    Run-time function call tree with gcc

    CIL - Infrastructure for C Program Analysis and Transformation : A tool to translate normally used C (including GNU C) into a simple subset that is easier to use in translation and program analysis.

    The LLVM Compile Infrastructure : Low-Level Virtual Machine is a sort of intermediate virtual machine for which compilers can generate code. This supposedly provides better scope for optimization techniques (by analysis of the LLVM generated code). This infrastructure has a GCC based C & C++ front-end, their own linker that does the optimization and back-ends for various target platforms.

    Frama-C : Framework for Modular Analysis of C : Suite of tools that builds on CIL mentioned above for use in static analysis of C based programs. Binaries for Linux, Windows and OS X.

    Yacfe : From the announcement -- "Yet Another C/C++ Front-End, which is an OCaml API to write style-preserving source-to-source transformations such as refactorings on C or C++ source code"

    LibFIRM : LibFIRM is a library that provides an intermediate representation (FIRM) that can be used to perform optimizations by compilers. Programs are represented as a graph. cparser is a parser, lexer and semantic analyzer for the ISO C99 language based on LibFIRM.

    pycparser : pycparser is a parser for the C language written in Python. pycparser is by Eli Bendersky.


    A wonderful collection of links and information is here

    The International Obfuscated C Code Contest

    J. Blustein's C Programming Language Resources

    Bit Twiddling Hacks - A comprehensive collection of code-snippets in C with explanations to help speed up bit-manipulation

    C Optimization Tips - Optimization tips that can be used when coding in C

    Steve Friedl's famous guide to reading C type declarations


    Site Links
      The Books I Own
      Main Page
      Vi in Emacs
      Linux on Vaio
      Study NZ
      Programming Fun?
      SED FAQ
      C Language
      Source Code Browsers
      C Struct Packing
      Walt Disney World
      PPP RFCs
      Photographs of Flowers
      Random Photogaphs
      Put this on your site!
      The Sundial Bridge
      Repetitive Strain Injury (RSI)
      Selling Software Online (MicroISV)
      Tcl Tk Life-Savers
      The Experience Shows!
      Green Tips
      .htaccess tricks
      Web-Site Development Online Tools




    Site copyright of domain owner. All rights reserved.