Tools for C++ Programmers


Tools for C++ Programmers

Cback - Cfront optimiser

Cback optimizes C source from the cfront C++ translator to create easy to read, smaller, faster and portable C source, while maintaining or improving compile times

Improves run-time performance by:

Improves programmer productivity with:

Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

Understand for C++ - Reverse engineering, documentation and metrics tool

Understand for C++ is a reverse engineering, documentation and metrics tool for C and C++ source code. It offers code navigation using a detailed cross reference, a syntax colorizing "smart" editor, and a variety of graphical reverse engineering views. It includes a PERL and C API for writing custom documentation directly from source code.

Operating Systems

Added : 28/07/2000 14:13:23 Amended : 28/07/2000 Licensing : Commercial

CCDL - 32-bit C compiler for DOS/DPMI

CCDL is a complete 32-bit development package for MSDOS. It incorporates a C compiler, assembler, linker, make program, librarian, and run-time libraries for a 32-bit implementation of ANSI C. It has been compiled with itself.

The full source code for the compiler, utilities and run-time libraries is included. This could make it a useful learning tool, even for non DOS users.

Operating Systems

Added : 21/06/1999 10:10:28 Amended : 21/06/1999 Licensing : Freeware

QScimpl - Qt-based software for building GUI's for scientific applications

QScimpl -- Qt-based Scientific Modeling and Plotting Library

Based on the cross-platform C++ GUI toolkit developed by Trolltech AS, QScimpl (pronounced "Q-simple") is a scientific graphics package that provides additional functionality for the rapid development of GUI's for scientific codes that require interactive visualization of particle or field data.

Like Qt, QScimpl is readily extensible by developers.

QScimpl supports 3-D rendering with OpenGL or Mesa, as well as threaded operation; however, neither of these features are required.

QScimpl is distributed with many example executables. One of these, called "SciMovie", can animate a sequence of images in a variety of different formats.

Operating Systems


Added : 08/03/2002 Amended : 08/03/2002 Licensing : Non commercial

LEADTOOLS - Imaging C++ Class Libraries, APIs, ActiveX, and VCL

LEADTOOLS is a family of comprehensive toolkits designed to help programmers integrate raster, document, medical, multimedia and vector imaging into their applications quickly and easily. LEADTOOLS gives developers the most flexible and powerful imaging technology available offering imaging technology for scanning, color conversion, display/special effects, annotations, image processing, compression, image format import/export filters, Internet imaging, medical imaging, database imaging, printing, multimedia, Imaging Common Dialogs, OCR, FlashPix format, screen capture and more. The result of ten years of development, the toolkit literally puts millions of lines of code at the fingertips of application developers. Included with the toolkit is extensive sample source code for Visual Basic, C/C++, Visual C++ (MFC), C++ Builder, Visual J++, Visual FoxPro, Access, Delphi, and Visual Basic and JScript, and support for Visual Studio 6.0 database connectivity (Oracle, SQL, OLE DB, ODBC, and JET)

Operating Systems


Added : 28/07/2000 Amended : 28/07/2000 Licensing : Commercial

SourcePublisher C++ - HTML Documentation generator

SourcePublisher generates detailed HTML automatic documentation about your K&R C, ANSI C or C++ source code. Detailed HTML output offers quick, intuitive browsing of the documention with links to the actual code. That code is syntax/keyword colorized and contains links back to the documentation.

Operating Systems

Added : 28/07/2000 14:15:28 Amended : 28/07/2000 Licensing : Commercial

ModAssert - A library of ASSERT-like macros that can use rich booleans

In C and C++ the traditional assert function is used to tell the user that something unexpected happened, that might cause the program to fail. Macros were written to extend this mechanism, like ASSERT_EQUAL(a,b) to give a short explanation "lefthand is <9>, righthand is <10>". However, such a macros functionality can't be reused in any way if we want to have a similar VERIFY_EQUAL (which still evaluates its arguments in non-debug mode), or an ASSERT_EQUAL_MSG (to add a message).

The Modular Assert macros use Rich Booleans, to have a modular assertion framework where any type of ASSERT can be combined with any Rich Boolean or a simple boolean expression. This package has 16 different types of assertion macros (ASSERT, VERIFY, ASSERT_P, ...), which can be combined with any rich boolean to provide extra information (or a simple boolean expression). So one could write ASSERT(rbEQUAL(a,b)), VERIFY(rbLESS(foo(), 10)), etc. Furthermore, the macros allow an arbitray number of expressions to be evaluated and shown when an assertion fails. A level can be assigned to each assertion (Info, Debug, Error or Fatal). Assertions can be ignored per case, level or file.

They are released under the Boost License, which allows free use in any code. It was tested with Visual C++ and Gnu C++, but contains no platform or compiler specific code (except for the demo code), so it should be portable.

Operating Systems


Added : 11/02/2005 Amended : 11/02/2005 Licensing : Non commercial

SourceStyler C++ - Advanced C/C++ Code Formatter

SourceStyler C++ is a tool for C++ developers that provides complete control over the formatting and layout of C++ source code.

SourceStyler C++ offers:

Operating Systems

Added : 01/11/2001 Amended : 01/11/2001 Licensing : Commercial

Class Edit - C++ class code generator and editor

Class Edit is a Windows 95/98 MDI "RAD" C++ Class code generator and editor. It helps in construction of new classes and maintaining or re-coding of old c++ code. The online help is designed to aid beginner and intermediate programmers in class syntax. ClassEdit 1.1 does not require installation, just unzip and run. ClassEdit 1.1 is released as Shareware version has 10 runs of full functionality.

Operating Systems

Added : 11/06/1999 08:30:49 Amended : 11/06/1999 Licensing : Shareware

CXT - C source code analysis

CXT (C Exploration Tools) consists of CFT (C Function Tree Generator) and CST (C Structure Tree Generator). They analyse C source code of applications, no matter how big or complex, and are useful to explore unknown software and to support software reuse and maintenance. By pre- processing, scanning and analyzing the source code, these programs build an internal representation of the function call hierarchy (CFT) and of the data structure (CST) relations. Several features and options allow the user to customize the generated hierarchy tree chart output and to get a large set of useful information about the source code. The results can be stored in a database and recalled later. The recall utility can be integrated into editors like BRIEF or MicroEMACS (DOS, Windows) and provides a hypertext-like feeling for function locating. The output calltree can be generated as HTML- and as RTF-file (Windows Help).

CXT is part of the SXT Software Exploration Tools which provide similar source code analysis features for C (CXT), DBASE (DXT), FORTRAN (FXT), JAVA (JXT) and LISP (LXT).

Added : 27/07/1998 Amended : 27/07/1998 Licensing : Shareware

Dev-C++ - Free Windows C/C++ IDE and compiler

Free environment and compiler for the C and C++ language. Creates Win32 program and contains more than 150 include files and 100 libraries.

This program has the following features:

Operating Systems

Added : 06/07/1999 11:01:03 Amended : 06/07/1999 Licensing : Freeware

OOFILE - OOFILE cross-platform c++ database, report-writer and GUI forms framework

C++ frameworks for developing cross-platform database applications with forms interface and report-writer. All OpenSource except professional database backends including c-tree Plus and dBase compatible.

Operating Systems


Added : 08/03/2002 12:11:37 Amended : 08/03/2002 Licensing : Public Domain

CPPSERV - C++ Servlet Server and C++ Server Pages

CPPSERV is an application server that provides Java Servlet like API to C++ programmers. It also includes CSP (C++ Server Pages) parser, that allows one to mix HTML and C++ code, like JSP, PHP, etc.. CPPSERV is implemented as separate process that communicates with webserver front-end throguh sockets (either Unix-domain or TCP). Currently there are modules for two web servers: Apache and Lighttpd. CSP (C++ Server Pages) are implemented as separate pre-processor, that converts CSP code into C++ servlet, that can later be compiled and loaded into CPPSERV.

Operating Systems


Added : 14/08/2006 Amended : 20/11/2006 Licensing : GNU copyleft

Rich Booleans - A library to make powerful debugging libraries like ASSERT macros

The Rich Booleans framework is a set of macros that hold extra information if the condition fails, so a developer understands what goes wrong. They allow modularization of assertions and other constructs that check conditions, so on the one hand we can have different types of assertion macros (ASSERT, VERIFY, ASSERT_MSG, ...), and on the other hand macros that replace booleans in the assertion macros to provide extra information. So one could write ASSERT(rbEQUAL(a,b)), VERIFY(rbLESS(foo(), 10)), etc. These Rich Booleans can even be reused in other situations, like a TASSERT macro in a unit testing framework, or in contracts. The macros just have to know how to handle a rich boolean.

A number of interesting rich booleans are in this library, like rbEQUAL_STRING that shows where two strings are different (taking care of mismatches and insertions in an intelligent way), and similar ones for ranges of iterators and STL containers. They can be combined to make powerful checks, like checking whether the integer values in one vector are smaller than those in another vector, comparing two vectors of vectors, or combining rich booleans with logical operations.

They are released under the Boost License, which allows free use in any code. It was tested with Visual C++ and Gnu C++, but contains no platform or compiler specific code, so it should be portable.

Operating Systems


Added : 11/02/2005 Amended : 11/02/2005 Licensing : Non commercial

SNIP: A Programming Power-tool - SNIP takes in an IDL and uses it to create code according to code patterns

SNIP is a programming power-tool for generating code from rules, or "code patterns" (AKA idioms).

Sr. software engineers have often noticed patterns in their coding practices. SNIP allows those patterns to be captured and expressed in an executable template.

An IDL-like input form is used to define objects. That IDL is then applied to the template to create code that a user would normally have typed in by hand.

For more information, and an example, see the site that describes SNIP more fully at

Operating Systems


Added : 19/03/1997 Amended : 19/03/1997 Licensing : Commercial

ClassAction - OO design and C++ code gen

ClassAction is an Object Oriented design tool for Windows 95 based on an approximation of the OMT methodology. It generates C++ code suitable for MFC 4.0. Contains context sensitive help, floating/dockable toolbar, drag/drop support. Also has install/uninstall.

The current version is the first beta version.

Operating Systems

Added : 07/08/1996 Amended : 07/08/1996 Licensing : Shareware

cxx2html - Create HTML Pages from C++ Header Files

cxx2html creates HTML pages from C++ header file information. It uses information from both the class declaration and the comments to create an HTML page which describes the class. The information extracted from the class declaration is used to create a class summary with links to the member function documentation and to the documentation for the classes which are parameters to the member functions. These links are created automatically from the class declaration.

cxx2html is written in Perl 5.0 (Perl 4.* will not work), and it is currently used to create the library reference manual for the AIPS++ project centered at the National Radio Astronomy Observatory (NRAO).

Added : 26/04/2000 09:58:35 Amended : 26/04/2000 Licensing : Not known

DocClass - Generates class documentation from source files

Docclass is a simple C++ program which reads in C++ header files, and outputs documentation describing the class hierarchy, methods, inherited methods etc.

Docclass has a rather dumb parser, but it should cope with reasonably sane C++ class declarations. It understands comments, and tries to group the comments with the appropriate class or method.

Docclass does not require templates, or nested classes, as many people had C++ compilers which didn't support them. With any luck, it should understand them a little in the code it analyses, though.

Docclass is Copyright (c) Trumphurst Ltd. I have made it available on the Internet for personal use only. Please do not use it in a commercial situation (except for testing to see if it is suitable) without first obtaining permission (mail address below).

Operating Systems


Added : 08/02/1996 Amended : 08/02/1996 Licensing : Copyrighted freeware

Imagix 4D - Reverse engineering, metrics and documentation tool

Imagix 4D is a reverse-engineering, metrics and documentation tool for legacy C and complex C++ software, for developers who are part of a large project or who are inheriting code. Graphical displays from high level UML class diagrams to detailed function level flow charts provide accurate, focused visualization of the software. Imagix 4D also generates over 50 leading software metrics and source checks, and automatically generates comprehensive documentation in a number of formats, including HTML and RTF.

Operating Systems

Added : 19/07/2002 09:56:03 Amended : 19/07/2002 Licensing : Commercial

WebDocs - C++ source code HTML docs application

C++ WebDocs generates online documentation in an HTML format from source code. Make your own HTML templates and formatting for the documentation. Imports header files and facilitates documenting objects, methods, and members. Special requirements: Microsoft Internet Explorer 4.0 or above.

Added : 04/06/1999 13:54:06 Amended : 04/06/1999 Licensing : Shareware

CGI.h C++ include file - Defines a CGI object and access methods

CGI.h is a C++ #include file that allows a 'CGI' object to be created then HTML tags generated via methods.

Here is an example..

#include <iostream.h> #include <stdlib.h> #include <string.h> #include "CGI.h"

int main() {

CGI c;

c.comment("A test CGI page by Trans-Euro It Ltd"); c.start_html("Stephen Martin", "Test CGI Page- written using C++ Include file", "white");

char cgiurl[]=""; char method[] ="post";

c.form_start(cgiurl,method); c.submit(9; c.form_end();


exit(0); }

Operating Systems


Added : 26/04/2000 Amended : 26/04/2000 Licensing : Public Domain

LaKe - Make replacement

Yet another make replacement, but one that allows you to create your makefile in C++. A header and footer are added to it, and it's then compiled using your C++ compiler. Afther that it's run, and that's the point where your other sources are being compiled. Thanks to the lakeUsr extension library (which is included) many (possibly complex) compile commands can be given with just one simple function call.

Features of the lakeUsr library v0.2.0

Operating Systems


Added : 19/10/2004 14:29:17 Amended : 19/10/2004 Licensing : Open Source

MkHelp - Generate HTML documentation from source files

Pretty good beta level documentation generator.

Generates fully cross-referenced class descriptions from .i files output by your compiler's preprocessor. Can extract comments from the source code and include them in the documentation (comments have to be immediately before the class, variable or method).

Pretty configurable - can generate the files in any language, for instance.

Has a few problems with some apparently correct syntax, and does not document typedefs, enums or global variables.

Operating Systems


Added : 02/08/1996 Amended : 18/08/2000 Licensing : Non commercial

C++ component search engine - Searches C++ Libraries FAQ for components

This is a Web page containing a Java search engine which searches the C++ Library FAQ for libraries or components which match your criteria.

I have tried this myself, and it is a very neat Web page. It even plays music to you while the search progresses!

Just select "Search Library", then enter your search string and press return.

Added : 13/11/1996 Amended : 13/11/1996 Licensing : Not known

Classdoc - AWK package to produce documentation from C++ source

Dag Bruck has written this package in AWK. It produces UNIX-style manual pages from C++ class headers. If you are interested in automatic documentation, you might want to look at this.

Added : 08/02/1996 Amended : 08/02/1996 Licensing : Not known

Weblet Application Server - Weblet Platform - Application Server for C/C++

A high performance C++ development environment offering: This package includes:
  • Weblet and Weblet Server Pages libraries
  • Weblet and Weblet Server Pages engines
  • WSP Bean Library
  • WSP Bean Viewer
  • Open source Webserver (based on Apache1.3) Ideal environment for C/C++ legacy systems to Web scenarios.

    Ideal tool to develop and deploy high performance Web applications.

    It supports Data Streaming and Publish Subscribe applications.

    It is offered as a solution package.

    The url for this package ( seems to have been taken over by someone else. If anyone knows where the library can be found, please let me know.

    Operating Systems


    Added : 23/05/2002 17:06:11 Amended : 07/07/2007 Licensing : Not known

    President - Surveyor for multilanguage analysis/metrics/documentation

    Surveyor reduces software development timelines and improves code quality by automating the process of understanding complex source code, streamlining the development cycle, and fostering collaboration between team members. Surveyor can automatically document code, be used as a basis for code audits/reviews, and immediately imparts understanding of interactions, relationships, and structure of open source or other externally produced code elements. Surveyor is available for C, C++ and 12 other languages. for free demo.

    Operating Systems


    Added : 17/10/2003 Amended : 17/10/2003 Licensing : Commercial

    VCF - Visual Component Framework

    A C++ framework that was created to provide a simple to use cross platform GUI framework, with many of the advanced design features of Java and Java's Swing, and Borland's Visual Component Library. In addition, the VCF provides advanced RTTI/Introspection features common in languages like Object Pascal, Objective C, Smalltalk, and Java, but not typically found in C++. The framework is divided into three main sections: FoundationKit, ApplicationKit, and GraphicsKit, in addition there are now two additional kits, the Network kit and the Remote Object Kit.

    The FoundationKit provides all of the base classes for the rest of the Framework, as well as support for RTTI/Introspection, events, event listeners, properties, and basic streaming capabilities. The VCF makes use of C++'s Standard Template Library for it's collection classes, and has a number of template based classes to support the Frameworks RTTI/Introspection design. The VCF also makes use of C++ exception handling, multiple inheritance, and C++ namespaces, so compiler's that don't support these features may have problems getting the FoundationKit (and any of the other kits) to compile. The GraphicsKit provides a core set of easy to use 2D graphics classes, modeled heavily after the design of Java's Graphics2D architecture. This include support for 32bit color images, alpha channels, anti-aliased graphics primitives, basic matrix transforms, filters, image loaders, kernels, and easy to extend path classes. Image manipulation is allowed at the bit level for those who like to bit-twiddle, but higher level functions are/will be provided.

    The ApplicationKit provides the classes used in the GUI portion of the Framework. This includes basics like windows, components, standard widgets (combo boxes, listboxes, trees, etc ), common dialogs, a basic layout manager, drag-and-drop, and standard windowing events. A simplified use of Model-View-Control design has been applied (sometimes referred to as UI delegate, where the Controller and View are combined ), similar to the way Java's Swing was designed. In addition it will also provide core services to extend the component framework with custom 3rd party libraries (DLL's or SO's) housing components that can be plugged into a the VCFBuilder tool, similar to Java Beans, or Borland's C++ Builder packages. The VCFBuilder is a simplified version of the C++ Builder IDE, something that can allow developer's to design their GUI's in real time, with out having to waste time writing code, and extend their set of components through 3rd party libraries.

    Operating Systems


    Added : 24/07/2002 12:42:43 Amended : 24/07/2002 Licensing : Open Source

    The KDevelop-Project was raised in 1998 to build u - KDevelop multilingual IDE

    The KDevelop-Project was raised in 1998 to build up an easy to use IDE (Integrated Development Environment) for KDE. Since then, the KDevelop IDE is publicly available under the GPL and supports many programming languages.

    Operating Systems


    Added : 17/02/2004 Amended : 17/02/2004 Licensing : GNU copyleft

    CoreLinux++ - C++ class libraries for Linux

    CoreLinux++ is an initiative to normalize methods and conventions for OOA/OOD/C++ development for Linux, materialized in a set of Open Source C++ class libraries to support common patterns and frameworks and exploit the C++ standards.

    Operating Systems


    Added : 02/11/2000 Amended : 02/11/2000 Licensing : Copyrighted freeware

    Ch C/C++ interpreter - for shell programming, numerical computing, plotting and embedded scripting

    Ch is an embeddable C/C++ interpreter for cross-platform scripting, shell programming, 2D/3D plotting, numerical computing, and embedded scripting.

    Ch supports 1999 ISO C Standard (C99) and C++ classes. Ch also supports many industry standards with over 8,000 functions including POSIX, socket/Winsock, X11/Motif, OpenGL, ODBC, C LAPACK, GTK+, Win32, and CGI. Functions in static or dynamical binary C/C++ libraries can be executed interpretively in scripting without re-compilation.

    Ch is also C compatible shell while C-shell (csh) is a C like shell. Ch is an interpretive implementation of C, similar to Unix/MS-DOS shells. Ch in Windows includes over 100 commonly-used Unix commands for portable shell programming. Ch can also be used as a login shell just like sh, csh and ksh. Ch bridges the gap between the C language and shell languages. With its built-in string type and many enhanced scripting features, Ch is an alternative to other scripting languages for automating repetitive tasks, regression test, and hardware testing.

    Ch supports 2D/3D graphical plotting, C LAPACK, high level numeric functions. For example, linear system equation b = A*x can be written verbatim in Ch.

    Embedded Ch allows users to embed Ch engine into other C/C++ application programs. Embedded Ch has a small footprint.

    Ch supports an increasing number of third party software applications. It includes Ch Control toolkit, Ch NAG Statistics Package, Ch CGI toolkit, Ch ODBC toolkit, Intel OpenCV for computer vision and image processing, National Instruments' data acquisition toolkit NI-DAQ and motion control toolkit NI-Motion, Barret Technology's Barret Hand robotic manipulator control, and Perl Compatible Regular Expressions.

    Ch for Windows, Linux, Mac OS X, Solaris, FreeBSD and HP-UX is available. Ch Standard Edition is free for both commercial and non-commercial. More can be found at

    Operating Systems


    Added : 19/07/2004 Amended : 20/07/2004 Licensing : Copyrighted freeware

    XSD - XML Schema to C++ Data Binding Generator

    Given an XML instance description (XML Schema), XSD generates C++ classes that represent the given vocabulary as well as parsing and serialization code. Compared to APIs such as DOM and SAX, the generated code allows you to access the information in XML instance documents using your domain vocabulary instead of generic elements, attributes, and text. Static typing helps catch errors at compile-time rather than at run-time. XSD supports two C++ mappings: in-memory C++/Tree and event-driven C++/Parser.

    The C++/Tree mapping provides C++ classes that represent data types defined in XML Schema, a set of parsing functions that convert XML instance documents to a tree-like in-memory data structure, and a set of serialization functions that convert the in-memory representation back to XML.

    The C++/Parser mapping provides parser templates for data types defined in XML Schema. Using these parser templates you can build your own in-memory representations or perform immediate processing of XML instance documents.

    GPL and Commercial licenses available

    Operating Systems


    Added : 14/03/2006 10:35:56 Amended : 14/03/2006 Licensing : GNU copyleft

    5Loaves - IP Tunneling, Routing, Proxying

    An open source, cross platform, secure, internet tunneling platform with file transfer, web server, remote admin, proxy, and load balancing. Enables connections through or around firewalls and across sub-networks.

    Complete Description

    Operating Systems


    Added : 19/06/2002 Amended : 19/06/2002 Licensing : Copyrighted freeware

    Visual Programming Armoury - Visual Programming Armoury for C++ and Java

    Visual Programming Armoury is an IDE for C++ and Java. It implements a concept of multidimensional desktop. The ergonomics of VPA helps you maintain large projects. There are 3 frameworks: C++, Persistence Smith and Java. All of them are compiler-independent structured processors of source code. C++ framework includes a designer of event-driven composite GUI and a resource editor. Persistence Smith framework is built upon the object-relational layer which allows you to interact with business objects instead of going directly to RDBMS. An extended semantics of C++ provides full-featured capability to program a back-end's logic: queries and updates are issued against the object model instead of the storage one. Diagrams of persistent class helps you design applied object model. Thus a system that uses relational database is engineered in terms of object-oriented methodology. All of your code is completely portable between variety of database products. The set of class libraries formalize GUI up to high-level primitives which query, retrieve, navigate, edit data, aid input, do printing job. Java framework supports class diagrams and reverse engineering of source code.

    Added : 03/12/1998 Amended : 09/06/1999 Licensing : Freeware

    D_Lib - C/C++ Debug Library

    The D_Lib library provides a set of easy-to-use but powerful and easily configurable tools to perform a C++ programmer's daily debug as well as diagnostics needed by a system tester/maintainer. In fact the use of the D_Lib library gives very flexible debug printing with both compile-time and run-time management and also possibility to turn on/off (even run-time) some pieces of code without any recompilation. It is tested and used for several UNIX platforms as well as MS Windows NT/95.

    Only requirement is a C++ compiler supporting templates.

    Operating Systems


    Added : 27/07/1998 Amended : 30/09/1999 Licensing : Public Domain

    Libraries with no known download site

    General complex matrix library for C++

    This library contains about 90 functions ranging from summation and multiplication to Jacobi transforms and LUP algorithms for a general complex matrix class in c++... Roots of polynoms, operator overloads, discrete fourier transforms, vectors, scalars, GaussJordan algorithm with partial pivoting, elementary row operations, inverse, determinants using partial LUP factorizing, similarity transforms, eigenvalues (LR algorithm on hessenberg matrices), eigenvectors using itertations or Jacobi transforms, reductions to echelon or hessenberg forms, various matrix type checks (hermitian/diagonal/orthogonal etc.), fast data access if no inheritance etc. etc.

    Operating Systems


    Added : 10/08/1999 Amended : 10/08/1999 Licensing : Education

    General complex C++ matrix library

    This library contains about 90 functions ranging from summation and multiplication to Jacobi transforms and LUP algorithms for a general complex matrix class in c++... Roots of polynoms, operator overloads, discrete fourier transforms, vectors, scalars, GaussJordan algorithm with partial pivoting, elementary row operations, inverse, determinants using partial LUP factorizing, similarity transforms, eigenvalues (LR algorithm on hessenberg matrices), eigenvectors using itertations or Jacobi transforms, reductions to echelon or hessenberg forms, various matrix type checks (hermitian/diagonal/orthogonal etc.), fast data access if no inheritance etc. etc. Also contains some often used routines to interpolate data or to do polynomial least square fitting.

    Operating Systems


    Added : 13/06/2001 Amended : 25/10/2004 Licensing : Education

    MenuPlus - Menu class library for Turbo C++ for DOS

    The library contains functions that allow the programmer to easily implement custom popup, pulldown, and buttonbar menus. The menus are designed to have the look and feel of familiar menu systems found in many popular applications. MenuPlus provides all screen, keyboard, and mouse functionalilty built in. Simply declare a menu object (menu item names, hotkeys, and handler functions) and MenuPlus does the rest. MenuPlus is designed to be simple to use, yet versatile enough to allow customized look and operations of the menus. (Includes demos illustrating use.)

    Registration of $15 grants royalty-free use of the library and also provides registered owner with all source code.

    Operating Systems


    Added : 13/11/1996 Amended : 13/11/1996 Licensing : Shareware

    OptSolve++ - Nonlinear optimization

    OptSolve++ -- Software Components for Nonlinear Optimization.

    The OptSolve++ optimization libraries provide a convenient and extensible interface for rapid nonlinear optimization of user-specified functions. OptSolve++ is available through the purchase of a commercial license.

    The following nonlinear optimization algorithms: -nonlinear simplex (no derivatives required) -Powell (no derivatives required) -conjugate gradient (requires gradient of the function) -Levenburg-Marquardt (can use Broyden's method to estimate the Jacobian if function gradients are not available) -simple bound constraints can be imposed through a variable transformation approach.

    Algorithms under development for the next release: -penalty functions to treat arbitrary nonlinear constraints -multidimensional nonlinear solvers (for root-finding)

    OptSolve++ consists of the following components: -TxBase; reference counted N-D container classes, trait and attribute classes, exception classes, and cross-platform header files -TxFunc; 1-D and N-D functor classes providing wrappers for C++ function pointers or general user-specified calls to other -TxLin; reference counted matrix and vector classes, with all linear algebra algorithms required by the optimization algorithms, and specialized functor classes that require linear algebra capabilities. -TxOptSlv; implementation of 1-D and N-D nonlinear optimization algorithms.

    Operating Systems


    Added : 26/04/2000 Amended : 22/10/2004 Licensing : Commercial

    Dr. - Vector Graphics Framework in C++

    A cross-platform (Linux, Win32, Mac OX X, FreeBSD, Linux and IRIX) open source C++ framework for 2D and 3D vector graphics that includes 2D curves, a 2D font engine, bitmap vectorizer, tessellator, and an OpenGL extensions manager.

    Operating Systems


    Added : 16/09/2005 Amended : 16/09/2005 Licensing : Not known

    IPL98 - Image Processing Library 98

    The Image Processing Library 98 (IPL98) is a platform independent image manipulating C/C++ library. The purpose of the library is to be useful, for combining tailor-made image processing and interpretation with standard methods for acquisitions, processing, display and storage of image information. Emphasis is put on interactivity in projects made by students, as well as for advanced research and development.

    Operating Systems


    Added : 25/05/2001 Amended : 25/05/2001 Licensing : Non commercial

    GenTools - A Computational Genomic Tool Suite

    The University of Texas System CHPC and collaborators are addressing the problems of high performance platforms by developing GenTools, an interactive, distributed, loosely integrated, set of tools for DNA and protein sequence data analysis, phylogenetic analysis, and restriction mapping which combines different algorithm implementations, machines, and databases through a "bio-user" friendly set of graphical user interfaces.

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

    DCE++ - A C++ API for Programming Distributed Systems

    DCE++ is a set of ANSI C++ classes that enable the rapid prototyping of distributed programs. The goal of DCE++ is to provide a platform independent C++ API to the significant components used in distributed computing. Namely: RPC, threads, Security and Naming across the widely used distributed computing platforms such as DCE, ONC and WNT.

    It is expected that by encapsulating platform dependencies inherent in setting up rpcs, security etc. in DCE++ base classes, program development time can be drastically reduced. Moreover, a foundation can be provided for developing *portable* distributed program development tools.

    The second *evaluation* version of DCE++, version 0.4, has been released on Dec 2'93. The release includes C++ bindings for remote procedure calls over DCE and ONC. A C++ threads api for programming DCE threads. A C++ threads api for programming DCE distributed Time Service. The release is available free of charge upon signing a very liberal license agreement.

    The license agreement is obtainable by anonymous ftp from It is in the directory dce++. The same directory also contains the release notes for the 0.4 version and plans for 0.5 features. To obtain the code, please send the signed license agreement to:

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : Copyright (other)

    Algebra - Collection of C++ classes to represent and edit equations in a GUI

    Object classes to represent/edit algebric equations in Windows: number, literal, boolean, + and - infinite, indeterminations group, document, line, page, list, sum, negation, division,multiplication, root, raise, equal, lessThan, lessThanOrEqual etc..., equivalent, implication. Implementing: log,exp,sin,cos,tg,cotg,cos,asin,acos,atg, logic operators, etc...

    Operating Systems


    Added : 28/03/1996 Amended : 03/10/1996 Licensing : Non commercial

    Source code from books

    Bruce Eckel - Thinking in C++

    You can find all the source code from Bruce Eckel's books on the web site below, as well as the evolving 2nd edition of the entire text of "Thinking in C++".

    Operating Systems

    Added : 01/01/1995 Amended : 03/12/1998 Licensing : Copyrighted freeware

    Smith - Object Oriented Software in C++

    Source to the Book by Michael A. Smith "Object-Oriented Software in C++", Chapman & Hall, London. 1993. ISBN 0 412 55380 5.

    Added : 01/01/1995 Amended : 09/02/1996 Licensing : Not known

    Coplien - Advanced C++ Programming Styles and Idioms

    Code from "Advanced C++ Programming Styles and Idioms" by James O. Coplien, Addison-Wesley, 1992, ISBN

    Added : 01/01/1995 Amended : 18/09/2000 Licensing : Not known

    Hansen - C++ Answers book

    Code from "The C++ Answer Book" by Tony L. Hansen , Addison-Wesley, 1990, ISBN 0-302-11497-6

    Added : 01/01/1995 Amended : 18/09/2000 Licensing : Not known

    Other places to look for details of C++ libraries - Portable GUI-software FAQ

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : N/A


    ASSET is currently populating a library of reusable components and systems, and documents on software reuse, called the Worldwide Software Reuse Discovery library (WSRD, pronounced "wizard"). Included are assets in numerous languages including C++, C, and Ada.

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known - Electronic design website covers all major keywords in the board-level, embedded, realtime, smart (internet-enabling) and mcu/mpu markets. This website serves as an online software tool of browsable and searchable links to compactpci, pc/104, motorola's 68K, java for embedded systems, embedded x86, assembly - anything and everything on the Internet of interest to practical design. is your "window on the electronic design world."

    Added : 10/08/1999 16:26:22 Amended : 10/08/1999 Licensing : N/A


    The index of resources for numerical computation in C or C++.

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : N/A

    Moderator - Boost - user extensions to the C++ Standard Library

    The web site provides a repository for free C++ libraries. The emphasis is on libraries which work well with the C++ Standard Library.

    A mailing list supports peer review and related discussions about the libraries.

    Operating Systems


    Added : 26/04/2000 Amended : 26/04/2000 Licensing : Copyrighted freeware

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : N/A

    comp.object FAQ

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : N/A

    Useful web and ftp sites

    A major repository of C++ stuff, mostly under the directory tree starting at /pub/programming/languages/C++. Includes a product list (from which some of the information in this document was taken) in various formats in sub-directory c++-products.

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : N/A


    E.g. send email to to access by email. This is a mail server. Send mail with the text "send index" or "send index from C++"

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : N/A

    FTP/Mail gateways - Obtaining FTP files via email

    If you don't have ftp access, send email to saying "help". You will get instructions on how to do ftp via email.

    European users might like to try instead.

    Added : 01/01/1995 Amended : 28/03/1996 Licensing : N/A

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : N/A

    Current CUG Library Catalog

    The CUG CD-ROM file listing offers the most comprehensive look at the programming tools and utilities available from CUG. The complete annotated listing (about 1 megabyte) is available through anonymous ftp as follows:

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : Not known

    Source code newsgroups (e.g. usenet/comp.sources.reviewed archives the comp.sources.reviewed newsgroup).

    Added : 01/01/1995 Amended : 01/01/1995 Licensing : N/A


    The primary Simtel site is, but there are many mirror sites all over the world.

    Added : 01/01/1995 Amended : 28/03/1996 Licensing : N/A

    Planet Source Code - Web site for C and C++ source code

    Award winning site with over 12,000 lines of C and C++ code. Code ranges from one-line snippets to complete programs. Includes a coding contest, hall of fame and a large Visual Basic and Java 'world'.

    Added : 01/11/1999 09:58:57 Amended : 01/11/1999 Licensing : N/A

    Trumphurst Home Page
    C++ Usenet Newsgroup

    A Web form for submissions to this list
    Mail the author for permission to distribute

    Copyright (c) 2008 Nikki Locke, Trumphurst Ltd.
    Permission is granted to distribute over the Internet without charge. The author's permission is required (and usually given) to distribute in any other way, including on CD.