GNU Common C++

From GNU Telephony

Revision as of 19:29, 29 October 2010 by Dyfet (Talk | contribs)
Jump to: navigation, search


distributed as:commoncpp2
external links:GNU Common C++
license used:GNU GPL 2.1 with Runtime Library Exception
required by:GNU ccRTP GNU ZRTP GNU ccScript3 GNU ccAudio2 GNU Bayonne
related to:


GNU Common C++ is a portable and highly optimized class framework for writing C++ applications that need to use threads and support concurrent sychronization, and that use sockets, XML parsing, serialization, config files, thread-optimized String and data structure classes, etc. This framework offers a class foundation that hides platform differences from your C++ application so that you need not write platform specific code. GNU Common C++ has been ported to compile nativily on most platforms which support either posix threads, or on Microsoft Windows. GNU Common C++ can also be used to construct embedded applications as part of GNU Telephony Open Embedded.

This framework is used to construct application services like GNU Bayonne, as well as part of additional libraries such as the GNU Common C++ RTP Stack and the GNU ccScript engine. Other libraries related to GNU Common C++ include the stand-alone GNU_ccAudio2 framework.


The current release set, 1.8.x, is considered stable. There are no immediate plans to introduce further features into the library, though we may make changes to improve performance and/or support additional target platforms. There had been some separate work on a new version of the Serial I/O classes, and this may also get migrated into a future release. We are also migrating the license to GNU GPLV3 or later to match GNU uCommon C++.


Online documentation is maintained as part of the larger class framework documentation for Bayonne 2 in GNU Telephony.


The latest release of GNU Common C++ is 1.4.x, and may be downloaded directly from our Download Page or from Related libraries, such as GNU ccRTP, GNU ccAudio2, and GNU ccScript3, may also be found there. GNU Common C++ can depend on libxml2 for xml parsing. It is also recommended to use libhoard to optimize memory allocation performance on true multi-core processors.

Related Projects

The following projects are known to use GNU Common C++:

Personal tools