1. Technology
Send to a Friend via Email

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
  1. C++ Developer Tools (4)
  2. C++ Games (48)
  3. Cross Platform Open Source C++ (6)
  4. Linux C++ Code Library (8)
  5. Windows C++ Code Library (11)

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++.

3D Renderer in Software
This is an implementation of 3d rendering techniques completely in software. It includes 3D transformations, Point rendering, Gouraud and Phong shading, Z-Buffer and Shadow mapping. It's cross platform as well on windows, Mac and Linux.

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.

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).

Automated Memoization in C++
Memoization is a caching technique that can produce enormous performance speed gains in repetitive calculations. In some languages (e.g. Lisp, Prolog, and Haskell) the use of memoization can be automated so that programmers can gain the benefits of memoization without modifying their code. Using a preprocessor tool and a supporting library, this automation has been extended to C++.

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').

Bank - C++ Memory Allocation
This is a cross platform chunk memory allocator. It allocates memory in chunks. It doesn't track their use (it's not a garbage collector) but is a convenient way of avoiding memory fragmentation.

Boids Simulator
Boids is a classic example of emergent behaviour using several simple algorithms. Complex behaviour arises out of simple permutations of the system state. Mini-P is a a small, event-driven simulator in modern C++ and glut to test simulation-related algorithms (physics, AI, spatial queries) for a game engine. The simulator consists of five parts

  • Maths : Vectors & Matrices, Linear/Curve Interpolation, simple geometric shapes
  • Physics : Euler integration, particle and kinematic, hard constraints
  • Collision Detection : O(n^2) pair-wise test
  • AI : a few basic steering behaviours, seek, flee, align
  • UI : simple event-driven dialogs
Updated Feb 10, 2012. Original Link lost. Changed to new link (on Evernote).

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.

C2 - An improved C

This is a project to build a new language C2 (an improved version of C), based at C2 Project.

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.

clinq - C++ 11 Interpreter
The C++ interactive interpreter cling is based on LLVM and its C++ frontend clang and replaces ROOT's current C++ interpreter CINT because of its Production-grade parser, Just-in-time compiler (JIT), Modular C++ API and C++ 11 support through clang.

Clustr - Transform Latitude and Longitude into Bounded areas
Clustr takes a text file containing longitude/latitude points, tagged with a bit of text, and attempts to generate minimal polygons that "cover" those points, using an "alpha" parameter to determine the notion of "coverage". The polygons are written to an ESRI Shapefile, suitable for use in GIS software. It was used by Flickr.com in geocoding to generate shapefile sets to help map photographs to areas.

Context Free Art - Digital Art Interpreter
Context Free is a program that generates images from written instructions called a grammar. The program follows the instructions in a few seconds to create images that can contain millions of shapes. It's cross-platform for Windows, Mac and Linux.

Cpp-btree From Google

Provided as open source, the cpp-btree library provides more memory efficient template versions of map, set, multimap and multiset. This reduced size data should yield speed improvements due to more cache hits. The downisde is that modifying a C++ B-tree container invalidates all outstanding iterators on that container.

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.

Darts Problem - Ben Jackson's Source Code
Reader Ben Jackson sent in this source code, published with his permission to quickly solve the problem "What is the lowest score (between 3 and 180) that you can't get with three darts". His code solves this for the more general case of D Darts and W wedges and includes comments.

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.

DlIbris - Nintendo DS Text Reader
Dslibris is a book reader for the DS. It displays ePub/XHTML text (UTF-8) using an anti-aliased, proportional font UTF-8 and does a power-save upon closing the DS lid. It remembers where you were so when you restart, it's at the right page. You will need to be able to install software on your Nintendo DS which involves installing a patch. This is potentially risky and could "brick" your DS.

Drizzle - MySQL Fork revamped in C++
Drizzle is a community-driven open source project forked from the MySQL database, had non-essential code removed, theb re-factored the remaining code and modernized the code base by moving to C++.

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.

Emscriptem Code Converter -- C/C++ to JavaScript
Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode generated from C/C++, using llvm-gcc or clang, and compiles that into JavaScript, which can be run on the web or even on a server using node.js. There's a few demos, including a god one with ray-tracing.

Fast Light Toolkit - A C++ cross platform toolkit
FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX, Linux, Microsoft Windows, and MacOS X. It provides modern GUI functionality without bloat and also supports 3D graphics via OpenGL® and its built-in GLUT emulation. There's a GUI designer FLUID to help create user interfaces quickly.

Fast String Search, quicker than Boyer-Moore
This is an implementation of a string search algorithm in C++ that is a couple of times faster than Boyer-Moore. It uses char * rather than C++ strings and the developer compiled it with GCC on Linux. It also compiles without problems using Visual C++ 2010 with the full and express versions.

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.

FastDB - Fast In memory DataBase
FastDb is an cross-platform in memory database with very fast query execution, tight integration with C++, automatic scheme evaluation, efficient log-less transactions, zero time recovery and fault tolerance. It has its own non SQL query language.

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.

Geometric Tools Library
The Geometric Tools library includes source code for real-time computer graphics and physics, mathematics, geometry, numerical analysis, and image analysis. The current version is called WIld Magic 5 and can be compiled for Linux, WIndows and Mac. There is 13MB of documents in PDF form.

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.

HotSpot - Java Virtual Machine

Distributed by Oracle but GPL'd open source, HotSpot is 250,000 lines of C++ code and some assembly that makes up the reference jvm (Java Virtual Machine) that runs on desktops and servers.

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.

ICU Unicode Library
ICU is a set of C/C++ and Java libraries providing Unicode and Globalization support for software applications. It's widely portable and gives the same results on all platforms and between C/C++ and Java software. It can convert text data to or from Unicode and nearly any other character set or encoding. ICU's conversion tables are based on charset data collected by IBM over the course of many decades, and is the most complete available anywhere.

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.

Keith Schwarz's Archive of Interesting Code
A collection of interesting algorithm's set up by lecturer Keith Schwarz with the intention of researching, intuiting, and code up every interesting algorithm and data structure ever invented. Many are in C++ though other languages are also used.

LevelDB is a library that implements a fast persistent key-value store.
From Google, and using their Snappy library for compression, LevelDB is a fast persistent key value store where keys and values are arbitrary byte arrays. Data is stored in key order but it can be overriden by a custom comparison function to override the sort order. Multiple changes can be made in one atomic batch and users can create a transient snapshot to get a consistent view of data.

Libcinder - Processing like library
Cinder is a toolbox for programming graphics, audio, video, networking, image processing and computational geometry like the language processing. Cinder is cross-platform, and in general the same code works under Mac OS X, Windows and other platforms including the iPhone and iPad. It's like the Processing language but in C++.

Libevent - Cross platform callbacks on file descriptpr event or timeout
The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Plus libevent also support callbacks due to signals or regular timeouts. It's meant to replace the event loop found in event driven network servers. An application just needs to call event_dispatch() and then add or remove events dynamically without having to change the event loop. There's a work in progress e-book on libevent here.

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.

libkdtree++ a C++ kd tree
This is an STL-like C++ template container implementation of k-dimensional space sorting, using a kd-tree. It supports a theoretically unlimited number of dimensions, and can store any data structure. It provides operator[0 - k-1] access to the individual dimensional components (arrays, std::vector already do) and a std::less implementation for the type of dimensional components. It has amortized O(lg n) time (O(n lg n) worst case) on most operations (insert/erase/find optimised) and worst-case O(n) space, and also provides a means to rebalance and thus optimise the tree.

LIBTMCG - A Library for fair and secure online card games
LibTMCG is a C++ library for creating secure and fair online card games. The library contains useful classes, algorithms, and high-level protocols. The software does not need a trusted third party) making it ideal for p2p clients., i.e. neither a central game server nor trusted hardware components is needed.

Linq in C++
This adds a simplified form of LINQ to C++. It's for C++ 11 compilers (many are now) and Boost.

LUA Like Tables in C++
Tables are a major data structure in the Lua programming language. This project attempts to bring their power and convenience to C++ and the documentation includes a tutorial that provides an example building a regular expression class using these tables.

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.

MongoDB - A Document Database
MongoDB falls halfway between key-value stores and traditional RDBMS systems. It's a scalable, high-performance, open source, document-oriented database that has document-oriented storage of JSON-style documents with dynamic schemas. Plus there's full index support that can index on any attribute and it scales horizontally without compromising functionality.

Mordor - High Performance I/O library from Mozy.com
Mordor is a high performance I/O library that provides very easy-to-use abstractions and encapsulation of difficult and complex concepts such as a co-operatively scheduled fiber engine, including synchronization primitives, a streaming library, for dealing with streams of data and manipulating them and a HTTP library built on top of Fibers and Streams for a simple-to-use, yet extremely powerful HTTP client and server API.

Mycelium Web Crawler
Mycelium is a high performance web crawler that uses asyncrhonous I/O through libevent to handle thousands of connections. It respects robots.txt and mantains a single session per dns host, so it can crawl thousands of hosts in parallel without hammering the same host.

Native Client for Google Chrome
Native Client is an open-source technology that runs native (i.e compiled machine code) code in web applications, with goals of OS portability and safety.

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.

OKWS Web Server, a secure web server
OKWS was designed (by Maxwell Krohn) to defeat those bugs that have plagued other pieces of software. It's fast and drives several high traffic web sites such as OkCupid.com. the core is written in C++ but it supports Python.

Olof Lagerkvist's Windows Utilities
From Olof Lagerkvist a developer in Borås (Sweden) comes a large collection of Windows source code command utilities (plus some Unix and Java) including many low level (so be careful) in C and C++.

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 Cross Platform Poker Table Server Software
HoldingNuts is an open source multi-platform poker client and server. it includes a socket server and can be built on Linux or Windows under Mingw and runs on either platform. The client uses QT for cross platform play.

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.

OpenVSP - NASA Open Source Parametric Geometry
OpenVSP is a parametric aircraft geometry tool that lets the user create a 3D model of an aircraft defined by common engineering parameters. This model can be processed into formats suitable for engineering analysis. It's cross platform on both Windows and Mac OS X.

Partow C++ Code

From computer scientist Arash Partow, this includes string toolkits, Mathematical Expression library, 24 Bit Bitmap library and lots more.

PDF Toolkit - Open Source Cross Platform toolkit
Developed by Sid Steward, author of OReilly's PDF Hacks, PDF Toolkit Pdftk is a simple tool for doing everyday things with PDF documents such as merging multiple PDF documents into one or the splitting one into many, rotating, encrypting and decrpyting (with password), filling in PDF forms, applying background watermarks and much more. It's dual licensed: GPL and commercial (for commercial use).

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.

PoDoFo PDF Library
PoDoFo library is a free, portable C++ library that can parse and modify existing PDF files and create new ones from scratch. It also includes several tools to work with PDF files.

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.

RetroShare - Anonymous, Secure, Private Friend To Friend Sharing
RetroShare is an open source cross-platform, private and secure decentralised communication platform that lets you securely chat and share files with your friends and family. It uses a web-of-trust to authenticate peers and OpenSSL to encrypt all communication. It provides filesharing, chat, messages, forums and channels

Roadsend PHP - A cross-platform compiler for PHP
This compiles PHP code to a native binary so it runs faster. It's written with bits in C but there's also a newer C++ version that's still under development.

Rope - an SGI STL Alternative to String
Ropes are a scalable string implementation designed for efficient operation that involve the string as a whole. Operations such as assignment, concatenation, and substring execute in time that's nearly independent of the length of the string. Unlike C strings, ropes are a reasonable representation for very long strings such as edit buffers or mail messages.

Sigil - EBook Creator
Sigil is a multi-platform WYSIWYG ebook editor that is GPL 3 licensed edits books in ePub format and runs on Windows, Linux and Mac. It has full Unicode support with everything in UTF-16. It includes WYSIWYG editing with Multiple Views: Book View, Code View and Split View. It uses xhtml and is clever enough to keep you from breaking it.

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.

Tamarin - Open Source Flash Player from mozilla
Tamarin is a JavaScript engine written in C++. It currently implements Adobe ActionScript™ 3 (a superset of ECMAScript Edition 3) and is embedded within the Adobe® Flash® Player versions 9 and later.

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) 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.

Tracking - Larning Detection
Details and videos of the predator Tracking, learning and detection algorithm that can follow an image defined in one frame of a video (by a bounding box) in subsequent frames. Source code is on Github.

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.

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.

WinSCP - FTP and SFTP File Client for Windows
WinSCP is an open source free SFTP client and FTP client for Windows. Legacy SCP protocol is also supported. Its main function is safe copying of files between a local and a remote computer.

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.

ZeroMQ - fast Open Source Messaging System
It's implemented with a socket-style API and sends and receives messages asynchronously. It supports different messaging patterns such as point-to-point, publish-subscribe, request-reply, parallelized pipeline and more. It' s fast with 13.4 microsecond end-to-end latencies and over 8M messages a second today and is LGPL Licensed.

ZipArchive Library
ZipArchive is a GPL licensed library, available on Windows, Linux, Mac OS X, MinGW for reading and writing zip Arhives.

There is also a Zip64 version available but that is not fre.

©2014 About.com. All rights reserved.