Software
From C
Contents |
Compilers
- http://www.compilers.net/ has a long list of c compilers, some of which also have an IDE.
- http://www.thefreecountry.com/compilers/cpp.shtml, ditto but these are all free to use.
Broad coverage | |||
---|---|---|---|
Axiomatic Multi-Platform C | Comeau | GNU Compiler Collection | |
lcc | TenDRA C/C++ | clang: a C language family frontend for LLVM | |
Apple Macintosh | |||
Apple XCode (clang+IDE) | Apple Macintosh Programmer's Workshop | Leonardo IDE (and compiler) (discontinued) | |
BSD/Linux/POSIX/UNIX | |||
UPS Debugger (C interpreter) | |||
Linux | |||
Intel C++ (and C) for Linux | TinyCC, for Linux/x86 | ||
Solaris/(Some)Linux | |||
Sun Studio 11 Solaris/Linux Suite | |||
Microsoft Windows (aka Win32) | |||
Digital Mars C/C++ Compiler | Microsoft eMbedded Visual C++ | Microsoft Visual C++ 2008 Express | |
Microsoft .NET Framework Developer SDK's | OpenWatcom | Bloodshed Dev-C++ (and C) | |
Borland C++Builder | lcc-win32 | PellesC | |
Miscellaneous | |||
BSD C, for 8080/Z80 CP/M | |||
Of Interest | |||
CCured Memory safe translator | LLVM Low Level Virtual Machine | Open64 Compiler Tools | |
PathScale 64bit |
Note: lcc and lcc-win32 are different compilers, the latter originally based on the former.
Editors and IDEs
- Anjuta - IDE for Unix
- Code::Blocks - "The open source, cross platform Free C++ IDE"
- GNU Emacs - Full featured editor, with IDE components
- JOE (Joe's Own Editor) - Curses-based editor
- VILE (Vi Like Emacs) - Editor with some IDE features
- VIM (Vi IMproved) - Editor with some IDE features
- Visual Slickedit - Commercial IDE for Unix and Windows
- XEmacs - Full featured editor, with IDE components
C-like Interpreters
- http://eic.sourceforge.net/
- http://root.cern.ch/root/Cint.html
- http://www.zeta.org.au/~atrn/ici/
- Semi-sorta' C-like Interpreters...
Libraries
- Google/dmoz C Library directory: http://dir.google.com/Top/Computers/Programming/Languages/C/Libraries/
Standard C
- diet libc, optimized for small size: http://www.fefe.de/dietlibc/
- GNU C Library, commonly found on Linux systems: http://www.gnu.org/software/libc/libc.html
- Newlib, for embedded systems: http://sources.redhat.com/newlib/
- uClibc, optimized for embedded systems: http://www.uclibc.org/
Adjunct
- libcurl, a multiprotocol file transfer library: http://curl.haxx.se/libcurl/
- GTK+, a library for creating graphical user interfaces, http://www.gtk.org/
- ATK, "interfaces for accessibility"
- GLib, "low-level core library that forms the basis of GTK+"
- Pango, "layout and rendering of text, with an emphasis on internationalization"
- LIBH (written by our own Skapare), a collection of functions for C programming intended to be helpful or handy: http://libh.slashusr.org/
- Portable Coroutine Library http://www.xmailserver.org/libpcl.html
Curses
Curses provides terminal independent control of a terminal, especially with respect to display but in newer incarnations a nice degree of independence for input as well.
- ncurses: http://www.gnu.org/software/ncurses/ncurses.html
- pdcurses: http://pdcurses.sourceforge.net/
- T.E.Dickey's curses development kit: http://invisible-island.net/cdk
Debugging
- Fred Fish's DBUG library, a macro-based debugging library
- The GNU Project Debugger (GDB) -- Several projects derive from this, including Data Display Debugger (DDD), which shows datastructures graphically, and CGDB, which shows the relevant lines in source code as a program is stepped through.
- NoBug Debugging support
Strings
- Better String Library (bstring) http://bstring.sf.net/
- GLib has strings http://developer.gnome.org/doc/API/glib/glib-string-utility-functions.html
- OSSP str http://www.ossp.org/pkg/lib/str/
- Vstr (written by our own geppetto), a string library designed to work optimally with readv and writev: http://www.and.org/vstr/
The Vstr site has a review of numerous string libraries, including all the above, at http://www.and.org/vstr/comparison.html
Tools and Utilities
- cscope - source browser, integrates into vim and (x)emacs.
- cproto - generates function prototypes from source containing definitions.
- Exuberant Ctags - generates tag files (for use by editors and such) from source.
- diffstat - reads the output of the diff command and displays a statistics.
- cutils - Collection of utilities for C programmers (cdecl, cundecl, cobfusc, more).
- splint - static code analyzer.
- NCC - NCC is a compiler that produces program analysis information. Also includes a graphical call-graph navigator and source browser.
- Xrefactory - source browser, integrates into editors. Also can generate cross referenced html.
- Highlight - Highlights C (among other languages) source code to many different output types.
- GNU Source-Highlight - Highlights C (among other languages) source code to HTML/XML.
- Vstr highlight example - Highlights C source code to HTML/XML, but allows lots of configuration of the display using CSS.
- "lemon" Parser-Generator Tutorial A nifty alternative to yacc/bison.
- An Example tarball Decent example set PLUS lemon source.
- Valgrind An award-winning suite of tools for debugging and profiling x86-Linux programs.
Miscellaneous
Google/dmoz C Source code directory: http://dir.google.com/Top/Computers/Programming/Languages/C/Source_Code/