1. Home
  2. Computing & Technology
  3. C / C++ / C#

A Library of Software written in C++ with full source code.

The C++ library holds full source code from example articles, reader submitted code and any code that is in the public domain. See also
C Code Library
C# Code Library
0MQ- Very Fast Open Source Messaging Protocol
ØMQ ("ZeroMQ") is an ongoing open source project to develop the fastest scalable messaging system. It is already very fast with 25μsec end-to-end latencies and 1M discrete messages/core/sec today. ØMQ is fully open sourced GPLv3-licensed software written in C++.
A Webserver that can run C++ Code in a webpage
Tntnet is a modular, multithreaded, high performance webapplication server for C++. It has has a template-language called ecpp similar to php, jsp or mason, where you can embed c++-code inside a html-page to generate active content. Because the web applications are compiled into native code, they are fast and compact.
Adobe Open Source Libraries
Adobe Source Libraries (ASL) provides peer-reviewed and portable C++ source libraries. The libraries are intended to be widely useful, leveraging and extending both the C++ Standard Library and the Boost Libraries.
AMD's Open Source Framewave Library
Derived from the AMD Performance Library, Framewave is a free and open-source collection of image and signal processing routines to accelerate application development, debugging, and optimization on x86-class processor platforms. It's API compatible with the Intel® Integrated Performance Primitives (Intel® IPP), now supports Mac OS support and has MPEG1 and MPEG2 Decode support.
AsmJit - A cross platform inline assembler for x86/x64
AsmJit is a complete x86/x64 JIT Assembler for C++ language that supports FPU, MMX, 3dNow, SSE, SSE2, SSE3 and SSE4 intrinsics, plus a powerful compiler useful for writing portable functions for 32-bit (x86) and 64-bit (x64) architectures. Currently tested operating systems are Windows (32 bit and 64 bit), Linux (32 bit and 64 bit) and MacOSX (32 bit).
B+ Tree - Fast Templated based Data Structure
B+ Tree is a data storage type, based on a tree that holds data for efficient insertion, retrieval and removal of records by a key. It is a dynamic, multilevel index, with maximum and minimum bounds on the number of keys in each index segment (usually called a 'block' or 'node').
Box 2D- Two Dimensional Physics Engine
Box2D is a 2D rigid body simulator for games to make objects move in believable ways and make the world seem more interactive.
C++ OpenID Libraries
OpenID is a non centralized system for authenticating ID and logging into websites without requiring username and password credentials. This page includes links to several C++ libraries.
ChaiScript - C+= Embedded Scripting Engine
ChaiScript is a BSD licensed open source scripting engine that can be embedded in C++ applications. It uses a header-only approach to make it easy to integrate with existing projects and maintains type safety between your C++ application and user scripts. Additionally It supports a variety of C++ techniques including callbacks, overloaded functions, class methods, and stl containers
Chrome - an Open Source Web Browser from Google
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web. This site contains design documents, architecture overviews, testing information, and more to help you learn to build and work with the Chromium source code.
CINT - an Interpreter for C and C++
CINT is a C/C++ interpreter that provides a rapid edit/compile/test development cycle for C/C++ scripts . CINT is written in C++ itself and used in production by several companies in the banking, integrated devices, and even gaming environment, and at ROOT, making it the default interpreter for a large number of high energy physicists all over the world.
CppCMS - Web Application Framework
CppCMS is a free C++ Web Development Framework for Rapid Web Application Development. It's been designed and tuned to handle extremely high loads.It uses modern C++ to achieve this speed and aimed on development of Web Sites. It's for Posix compatible systems e.g. Windows with Cygwin.
Crypto++ Library - A free C++ class library of cryptographic schemes
A comprehensive library of public domain cryptographic routines, for IDEA, DES, Triple-DES (DES-EDE2 and DES-EDE3), DESX (DES-XEX3), RC2, RC5, Blowfish, Diamond2, TEA, SAFER, 3-WAY, GOST, SHARK, CAST-128, Square, Skipjack, Camellia, SHACAL-2 and # AES (Rijndael) and these AES candidates: RC6, MARS, Twofish, Serpent and CAST-256.
CTL- Common Text Library
Common Text Transformation Library, CTTL for short, is a set of C++ classes and functions to understand and modify text data. The library implementation is based on STL classes and algorithms.
Dennis Muhlestein's C++ Timing Code for Linux
Dennis has rewritten the C++ code used for timing entries in the About C++ Programming Challenges. Now you can develop on Linux.
DropMyRights
An article plus downloadable utility (with source code) for Windows XP that reduces user access rights when running in an account that has administrator privilege. This minimizes the damage that Malware can do on your PC when browsing the internet or running unknown applications.
E Text Editor becomes Open
The editor sold at E-texteditor.com has become open as part of the transformation to an Open Company. It includes a Revision Control system to track changes and support for TextMate Bundles. See textMate on Wikipedia.
FastBit Implementation In C++
FastBit implement a set of efficient bitmap indexes for searching over large datasets. It was devised at the Lawrence Berkeley National Laboratory and is held in the public source code repository.
Firebird - Open Source Database Server
Firebird is the open source database server that was developed from Borland's Interbase. It includes full support for stored procedures and triggers, fully ACID compliant transactions, referential integrity, very small footprint including a single dll embedded version and support for external functions as dlls or sos.
Folder Size for Windows 2000/XP
Folder Size for Windows adds a new column to the Details view in Windows Explore that shows not only the size of files, but also the size of folders. It keeps track of which folders you view, and scans them in the background so you can see complete size of all files within the folder. Note: You need to browse the CVS repository on the Sourceforge page to see and/or get the code.
Freenet API Open Source Library
The freenet project is a Java application that lets users communicate and store files securely. This C++ project on github lets you access the Freenet API.
Google C++ Testing Framework
Google's framework for writing C++ tests on a variety of platforms (Linux, Mac OS X, Windows, Windows CE, and Symbian) has been open-sourced. It's based on the xUnit architecture and supports automatic test discovery, a comprehensive set of assertions including user-defined, fatal and non-fatal failures, plus various options for running the tests, and XML test report generation.
Google Omaha - Open Source Application Updates for Windows
Google Omaha is the name for the auto updater software used by Google in their applications such as Google Earth and Google Chrome. Now open sourced, it lets you add the same capability to your applications. Note it requires a full version of the Microsoft C++ Visula C++/Studio.
Google V8 - An implementation of JavaScript that you can use
Google V8 is a very fast executing JavaScript compiler that is part of their Chrome browser. You can embed V8 in your own software to provide scripting. It's licensed under the liberal BSD license.
Grace - A library To Ease Writing C++
Grace is a project made up of a combination of useful classes and clever macros, to provide clear and easy ways to perform a lot of computing tasks in C++. Code written for Grace looks more like Python or PHP than C++.
HexView - a File Viewing Utility
A programmers's file viewer, this displays the contents of any Windows file in hexadecimal and text. Written in C++, the full source code is included. Note that is uses MFC so needs a Microsoft compiler with MFC support. Eg MS Visual Studio 6 or MS Visual Studio 2003/2005.
Higher SubLeq - A C type language that compiles to subleq
A form of One Instruction Set Computer (OISC) for short. Subleq is short for SUBtract and branch if Less-than or EQual to zero. This 147KB C++ application acceps a sort of C syntax and compiles to subleq instructions.
Hypertable - A Massive Scalable Database
Hypertable is a high performance distributed data storage system designed to support applications requiring maximum performance, scalability, and reliability. It's modeled on Google's BigTable and designed to hold data in the petabyte range.
Inskcape - Open Source Vector Drawing Program
Inkscape is an Open Source vector graphics editor, with capabilities similar to Illustrator, CorelDraw, or Xara X, using the W3C standard Scalable Vector Graphics (SVG) file format.
Intel Threading Building Blocks Open Source Library
Intel® Threading Building Blocks is a library that helps you take advantage of multi-core processor performance without having to be a threading expert. It abstracts platform details and threading mechanism for performance and scalability.
Intel® Concurrent Collections for C++ 0.4 for Windows* and Linux*
This lets you write C++ programs that execute in parallel without you having to deal with low-level threading constructs or the scheduling and distribution of computations. You specify high-level computational steps including inputs and outputs without unnecessary ordering on their execution using standard serial constructs of the C++ language.
KDiff3 - Open Source Difference Utility (CrossPlatform)
KDiff3 is a program that compares or merges two or three text input files or directories, shows the differences line by line and character by character, provides an automatic merge-facility and an integrated editor for comfortable solving of merge-conflicts.
LibJingle - A Google library to help write your own P2P Applications
Libjingle is an open-source C++ library plus sample applications for P2P applications. It creates network connections through NAT and firewall devices, relay servers, and proxies, session details (codecs, formats, etc.), and data exchange. Plus additional tasks such as parsing XML, and handling network proxies. It's licensed under a BSD type license so free for commercial or non-commercial use.
LZMA Compression SDK
LZMA SDK provides the documentation, samples, header files, libraries, and tools needed to develop applications that use the LZMA compression algorithm.
Measuring I/O Performance (Microsoft Research)
This page has three short performance studies with the source code of the various utilities used to measure the speed of reads and writes of networks, disk I/O and memory.
Mini Light - Renderer in 570 Lines of code
MiniLight is a minimal global illumination renderer. It is primarily an exercise in simplicity in about 570 lines of code. There are other language implementations for speed comparison.
Neomem - an Open Source Personal Organizer
Written in C++ for Windows, Neomem is a superb organizer and example of a non trivial application written in C++. Note you will need a C++ compiler with MFC (Microsoft Foundation Classes) to compile this.
NTL - High Precision Mathematics Library
NTL is a high-performance, portable C++ library providing data structures and algorithms for manipulating signed, arbitrary length integers, and for vectors, matrices, and polynomials over the integers and over finite fields.
Nullsoft Scriptable Install System
NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. It is designed to be as small and flexible as possible and is therefore suitable for internet distribution. It adds just 34KB to your executables.
OMNeT++ - A platform for Simulating Networks
OMNeT++ provides a component architecture for models. Components (modules) are programmed in C++ and assembled into larger components and models using a high-level language (NED). OMNeT++ has extensive GUI support, and because of its modular architecture, the simulation kernel (and models) can be embedded easily into your applications.
Open Source Software for Origami Design
Robert Lang has developed Treemaker, an Open Source application for designing very complex Origami models.
Open Source Virtualizer
VirtualBox is a professional product available in Enterprise and Open Source versions licensed under the GNU GPL. It provides virtualization so that applications can run at near full speed on the underlying hardware.
pHash - a Perceptiual Hash to help identify similar multimedia files
A perceptual hash is a fingerprint of a multimedia file derived from various features from its content. Unlike cryptographic hash functions which rely on the avalanche effect of small changes in input leading to drastic changes in the output, perceptual hashes are "close" to one another if the features are similar.
POCO -Free Portable C++ Component Library
POCO, the C++ Portable Components, is a collection of open source C++ class libraries that simplify and accelerate the development of network-centric, portable applications in C++. POCO is built strictly on standard ANSI/ISO C++, including the standard library.
Quantum Random Bit Generator
This links to a free online true random number generator which works by measuring decay in photons. A free C++ library is provided (after registration - it's completely free) to download random data from the Croatian site for any use in your application.
Reiser FS Tool - Reading Reiser Filesystem Disks from Windows
Reiser is a Filesystem used in many Linux distributions such as SUSE. Reiser FS Tool ia a Windows command line application that allows you to access ReiserFS partitions from a Windows 95/98/ME/NT/2000/XP system.
Sphinx Search - Fast text Search
Sphinx is a full-text search engine, distributed under GPL version 2. It can be commercial licensed for embedded use. Its use is to provide fast, size-efficient and relevant full-text search functions to other applications. Sphinx was specially designed to integrate well with SQL databases and scripting languages.
Spreadsort - twice as fast as std::sort
Spreadsort is a fast general-case in-place hybrid radix/comparison algorithm, that is roughly twice as fast as std::sort. It can sort integers, floats, or strings, or other data types based upon integer, float, or string keys
Stellarium - Open Source Planetarium using OpenGL
Stellarium is a free open source planetarium for your computer. It shows a realistic sky in 3D, just like what you see with the naked eye, binoculars or a telescope.
Tesseract-OCR - Optical Character Recognition Software
The Tesseract OCR engine was one of the top 3 engines in an 1995 Accuracy test and is probably one of the most accurate open source OCR engines available. The source code will read a binary, grey or color image and output text. A tiff reader is built in that will read uncompressed TIFF images, or libtiff can be added to read compressed images.
The GRETA Regular Expression Template Archive
GRETA gives you all the power of Perl 5 regular expressions in your C++ applications. It has a fast backtracking regular expression engine, separately compiled patterns, matches against C-style NULL-terminated strings, C++-sytle std::string's, or iterator ranges.
The Standard Function Library
The SFL (Standard Function Library) is an open source portable function library for C/C++ programs. The SFL provides about 450 functions for compression, encryption, encoding, datatype conversion and formatting, dates, times, calendars, internet programming (MIME, CGI) [/ul] and many more.
Thinking in C++ Downloadable PDF Version
Download the free PDF versions of Bruck Eckel's classic "Thinking in C++" volumes one and two.
Ultimate ++ - Cross-platform Rapid Application Development Suite
Ultimate++ is a free C++ cross-platform rapid application development suite focused on programmers productivity. It includes a set of libraries (GUI, SQL, etc..), and an integrated development environment.
UPX - Executable Compressor for Windows, Linux and other OS
UPX is a free, portable, extendable, high-performance executable packer for several different executable formats. It achieves an excellent compression ratio and offers very fast decompression. Executables suffer no memory overhead or other drawbacks for most of the formats supported, because of in-place decompression.
Visual Effects Code from Kevin Atkinson
This audition video used visual fx created by Kevin Atkinson for a job interview. The code is GPL licensed and uses boost::shared_ptr and some stl.
Visualization Library - OpenGL middleware for 2D/3D
This is a C++ library for developing high-performance 2D and 3D graphics applications using OpenGL 2.1 for the Windows, Linux and Mac OS X. It can be used in creating simulations, virtual reality, augmented reality, visual simulation, plotting, data mining and visualization, presentations, multimedia applications, special effects, 2D and 3D games etc.
Visualize a Million items on a screen using treemaps
A project looking at the use of new algorithms and interaction techniques to use visualization representations, such as treemaps and scatter plot diagrams, to display a million of items or more in a effective way, without using aggregation. It reads XML datasets then displays them.
Webtoolkit - Write Web Applications in C++
Wt is a open source C++ library and application server for developing and deploying web applications on Linux and Windows. It is not a 'framework' but a library. The API is widget-centric, and inspired by existing C++ Graphical User Interface (GUI) APIs.
WFC- Windows Foundation Classes
Win32 Foundation Classes (WFC) is a library of C++ classes that extend Microsoft Foundation Classes (MFC) to do NT specific things.
WinDirStat - View disk usage using a treemap
WinDirStat is a disk usage statistics viewer and cleanup tool for Microsoft Windows (all current variants). It uses treemaps to easily let you see which files and folders take up the most space so you can eliminate duplicates etc.
WinMerge - Open Source Difference Utility
WinMerge is an Open Source visual text file differencing and merging tool for Win32 platforms. It is highly useful for determining what has changed between project versions, and then merging changes between versions.
WizBang - An aid in learning and teaching procedural programming.
Written in C++ and using the Qt toolkit, this lets you design procedures by dragging & dropping shapes. You control procedure flow by dragging connection arrows from one shape to another. It can compile any procedure built using WizBang to valid, working code in C++, Java, and Python, with Perl, and C support coming soon.
Wykobi - Computational Geometry Library
Wykobi is an efficient, robust and simple to use C++ 2D/3D oriented computational geometry library. It works with a wide range of compilers including GCC, Intel and Microsoft.
Xpdf - Open Source PDF Reader
Xpdf is an open source viewer for Portable Document Format (PDF) files. The Xpdf project also includes a PDF text extractor, PDF-to-PostScript converter, and various other utilities.
Yarrow a Secure Pseudorandom Number Generator
Yarrow is a PRNG; it generates cryptographically secure pseudorandom numbers on a computer and was written by Bruce Schneier, inventor of the AES encryption algorithm. Yarrow is copyright-free in the public domain for general business use.
ZipArchive Library
ZipArchive is a GPL licensed library, available on Windows, Linux, Mac OS X, MinGW for reading and writing zip Arhives. [p] There is also a Zip64 version available but that is not fre.
Explore C / C++ / C#
About.com Special Features

Stay connected and entertained with reviews on tips on the latest HDTVs, cellphones and more. More >

Easy ways to connect two computers for networking purposes. More >

  1. Home
  2. Computing & Technology
  3. C / C++ / C#
  4. Code Library
  5. Code Library for C++

©2009 About.com, a part of The New York Times Company.

All rights reserved.