Ø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++.
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 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.
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 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 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').
Box2D is a 2D rigid body simulator for games to make objects move in believable ways and make the world seem more interactive.
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 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
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 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 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.
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.
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 has rewritten the C++ code used for timing entries in the About C++ Programming Challenges. Now you can develop on Linux.
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.
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 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 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 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.
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'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 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 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 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++.
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.
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 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.
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 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.
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 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.
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.
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 SDK provides the documentation, samples, header files, libraries, and tools needed to develop applications that use the LZMA compression algorithm.
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.
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.
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 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.
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++ 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.
Robert Lang has developed Treemaker, an
Open Source application for designing very complex Origami models.
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.
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, 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.
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 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 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 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 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.
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.
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 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.
Download the free PDF versions of Bruck Eckel's classic "Thinking in C++" volumes one and two.
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 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.
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.
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.
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.
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.
Win32 Foundation Classes (WFC) is a library of C++ classes that extend Microsoft Foundation Classes (MFC) to do NT specific things.
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 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.
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 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 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 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 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.