The Boehm-Weiser garbage collection package, for C and C++ -
garbage collection and memory leak detection libraries.
A garbage collector is something which automatically frees malloc'd
memory for you by working out what parts of memory your program
no longer has pointers to. As a result, garbage collectors can also
inform you of memory leaks (if they find memory they can free, it means
you have lost all of your pointers to it, but you didn't free it).
C programs may be linked against either of these, and should run (with
GC or leak detection) without change. C++ programs must include a header
to use garbage collection, though leak detection should work without
such source code modifications. See the man page and header files.
This package only brings Boehm-GC libraries with malloc redirection.
ps: garbage collection is addictive.
Berkeley Yacc (byacc) is a LALR(1) parser generator. Berkeley Yacc has been made
as compatible as possible with AT&T Yacc. Berkeley Yacc can accept any input
specification that conforms to the AT&T Yacc documentation.
The Abstract Large File (ALF) project is a portable library for writing files
that can be larger than 2GB or contain holes on systems that don't natively
support one or both properties.
A bzr plugin to organise and manage a collection of bzr branches as a complex
project.
An Open Source Implementation of the Actor Model in C++.
Actors in CAF are lightweight, consist of only a few hundred bytes, and
are cooperatively managed by a state-of-the-art, work-stealing
scheduler. You can spawn millions of actors if you want to.
CAF offers a network-transparent message passing. Actors can talk to
each other, no matter where they've been spawned. You do the hard part
of implementing your app, CAF takes care of the low-level side of
things. CAF allows you to transparently connect actors running on
different machines and OSes via the network. It integrates multiple
computing devices such as multi-core CPUs, GPGPUs, and even embedded
hardware. You can also create message passing interface for your OpenCL
backends.
Cdk stands for 'Curses Development Kit' and it currently contains 21 ready
to use widgets which facilitate the speedy development of full screen
curses programs.
Each widget has the ability to display color, or other character attributes.
Cdk comes with a attribute/color format command set which allows a programmer
to add colors and characters attributes simply.
A graphical front-end to `cscope' and its clone `cs' with a number of
nice features, including:
- Graphical window interface for general ease of use.
- Function call hierarchy and function viewer.
- Recall of previous queries and query results for easy browsing.
- Ability to switch between databases and query back-ends.
- Source code highlighting ala Emacs.
- Querying and building may be performed simultaneously.
- Build database dialog allows interactively configuring source
and include directories.
- Saves queries and/or query results for later sessions.
- Query results and file browser separated by adjustable pane.
- Full text search in viewer windows.
- Convenient key and button bindings.
- Ability to invoke any editor directly from browser.
- Crude but existing help menu.
This is an enhanced version of the 'dialog' command. Quoting Thomas Dickey,
the ncurses developer, "DIALOG was written by Savio Lam <lam836@cs.cuhk.hk>
and modified by several people.
"Initially, I made fixes and reviewed the code to ensure that problems
reported were not related to ncurses. After that, I resumed development,
adding new widget types. See the changelog for details."
Cflow2vcg convert the result of the cflow utility in a VCG format. It offers
the ability to view graphically the call-graph of sources, and import it in
documentation.
Infrastructure for C Program Analysis and Transformation
CIL (C Intermediate Language) is a high-level representation along
with a set of tools that permit easy analysis and source-to-source
transformation of C programs.
CIL is both lower-level than abstract-syntax trees, by clarifying
ambiguous constructs and removing redundant ones, and also higher-level
than typical intermediate languages designed for compilation, by
maintaining types and a close relationship with the source program.