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.

    References

    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

    Books

    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

    Tutorials

    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.

    Miscellaneous

    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
      Utilities
      Programming Fun?
      SED FAQ
      C Language
      Source Code Browsers
      C Struct Packing
      Walt Disney World
      PPP RFCs
      FSM/HSM
      Tcl/Tk
      Photographs of Flowers
      Random Photogaphs
      Put this on your site!
      SQLite
      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
      Blog
     

     

     

     


    Site copyright of domain owner. All rights reserved.