C ++ Library Collection

Source: Internet
Author: User

C ++ Library Collection

Scientific Computing

1) blitz ++

Reference: http://www.oonumerics.org/blitz/

Blitz ++ is an efficient function library for numerical computing. It is designed to create a set of computing environments that are as convenient as C ++ and faster than FORTRAN. Generally, the numerical program written in C ++ is about 20% slower than that written in FORTRAN. Therefore, blitz ++ just wants to get rid of this shortcoming. The method is to use the C ++ template technology to execute programs faster than FORTRAN. Blitz ++ is still developing. It is not available for common Linear Algebra methods such as SVD, FFTS, and qmres, however, the user can easily use the functions provided by blitz ++ to construct the function.

2) pooma

Reference: http://www.codesourcery.com/pooma/pooma

Pooma is a free high-performance C ++ library for processing parallel scientific computing. Pooma's object-oriented design facilitates rapid Program Development and optimizes parallel machines to achieve the highest efficiency, making it easy to use in industrial and research environments.

3) MTL

Reference: http://www.osl.iu.edu/research/mtl/

Matrix Template Library (MTL) is a high-performance generic component library that provides a large number of linear algebra functions for various format matrices. When some applications use high-performance compilers, such as Intel compilers, the resulting assembly code shows that they have almost no different performance than handwriting.

4) cgal

Reference website: www.cgal.org

The computational geometry algorithms library aims to provide most of the important solutions and methods in computational ry to industrial and academic users in the form of a C ++ library.

Game Development

1) Audio/Video 3D C ++ programming library

Reference: http://www.galacticasoftware.com/products/av/

Av3d is a cross-platform, high-performance C ++ library. Its main features are 3D graphics, sound effects (SB, and s3m), control interfaces (keyboard, mouse, and remote sensing), and XMS.

2) klayge

Reference: http://home.g365.net/enginedev/

Domestic game developers use their own C ++ game engines. Klayge is an open-source, cross-platform game engine that uses python as the scripting language. Klayge is released under the lgpl protocol. I would like to thank Mr. Min for his contribution to the game development industry in China.

3) Ogre

Reference: http://www.ogre3d.org

Ogre (Object-Oriented Graphics Rendering Engine) is developed in C ++ and uses a flexible object-oriented 3D engine. It aims to allow developers to develop applications or games based on 3D hardware devices more conveniently and directly. The class libraries in the engine abstract all usage details of the underlying system libraries (such as direct3d and OpenGL), and provide interfaces and other classes based on real-world objects.

Thread

1) C ++ threads

Reference Site: http://threads.sourceforge.net/

The goal of this library is to provide programmers with easy-to-use classes that are inherited to provide a large number of thread functions that are hard to see in the Linux environment.

2) zthreads

Reference Site: http://zthread.sourceforge.net/

An advanced object-oriented, cross-platform C ++ thread and synchronization library.

Serialization

1) s11n

Reference Site: http://s11n.net/

A stl-Based C ++ library used to serialize pods, STL containers, and user-defined types.

2) simple XML persistence Library

Reference Site: http://sxp.sourceforge.net/

This is a lightweight C ++ library that serializes objects into XML.

String

1) C ++ STR Library

Reference: http://www.utilitycode.com/str/

The operating string and Character Library supports windows and multiple platforms that support GCC. Provides highly optimized code, multi-threaded environments, Unicode, and regular expressions.

2) common text transformation Library

Reference Site: http://cttl.sourceforge.net/

This is a library for parsing and modifying STL strings. The cttl substring class can be used for comparison, insertion, replacement, and parsing using the ebnf syntax.

3) Greta

Reference: http://research.microsoft.com/projects/greta/

This is a library developed by researchers at Microsoft Research Institute to process regular expressions. Excellent performance in the case of small matching.

Comprehensive

1) P: Classes

Reference Site: http://pclasses.com/

A highly portable C ++ application framework. Currently, the signal/slot mechanism is concerned with type and thread security. The I/O system includes a plug-in-based network protocol transparent I/O architecture and a plug-in-based application Message Log framework, access the SQL database.

2) acdk-artefaktur component development kit

Reference Site: http://acdk.sourceforge.net/

This is a platform-independent C ++ component framework, similar to Java or. net Framework (reflection mechanism, thread, Unicode, waste collection, I/O, network, utility, XML, etc.), as well as Java, Perl, Python, TCL, lisp, integration of COM and CORBA.

3) dlib C ++ Library

Reference website: http://www.cis.ohio-state.edu /~ Kingd/dlib/

A combination of various classes. Big integer, socket, thread, Gui, container class, and browsing directory APIs.

4) Chilkat C ++ Libraries

Reference Site: http://www.c> http://www.chilkatsoft.com/cpp_libraries.asp

This is a library that provides zip, e-mail, encoding, S/MIME, XML, and other aspects.

5) C ++ portable types Library (ptypes)

Http://www.melikyan.com/ptypes/'> http://www.melikyan.com/ptypes/

This is a simple replacement for STL and a portable multi-thread and network library.

6) LFC

Reference Site: http://lfc.sourceforge.net/

Oh, this is another c ++ library that tries to provide everything.

Other libraries

1) Loki

Reference Site: http://www.moderncppdesign.com/

Oh, you may complain that I should have introduced it with boost, an experimental library. The author puts the C ++ template function to the extreme in Loki. And try to provide things similar to the design pattern through libraries. It also provides such practical functions as smart pointers.

2) ATL

ATL (Active Template Library) is a group of small, efficient, and flexible classes that provide basic facilities for creating interoperable COM components.

3) FC ++: the functional C ++ Library

This library provides some elements that are only available in functional languages. A masterpiece that uses libraries to expand languages. If you want to find another point of fun outside of OOP, you can look at the world of functional programming. In the article "Teach Yourself programming in ten years", Master Peter norvig lists functional languages as one of at least six programming languages that should be learned.

4) Fact!

Reference: http://www.kfa-juelich.de/zam/FACT/start/index.html

Another library that implements functional language features

5) crypto ++

Free database for password processing, message verification, one-way hash, and public key encryption systems.

There are also many very exciting or extremely practical C ++ libraries, which are limited to our level and the length of the article cannot be included. In the introduction to these libraries that have recently been included, since not all of them have been used, we are inevitably biased. Please forgive me.

6) managed C ++ wrapper for zlib

Compression component zlib C ++ class library

7) cppsqlite-C ++ wrapper for SQLite

SQLite C ++ package Library

8) cximage

Image Format Conversion

Resource website

Just as we can learn about the development of computer history through important figures in computer history, the websites of C ++ related figures can also give us the most valuable reference and reference, the following figures do not need to be introduced because the following figures are well known in the C ++ field. We only list relevant resources for readers to learn, some of them work in Bell Labs, some are well-known compiler manufacturers, some are constantly promoting language standardization, and some are writing many Qihoo works for readers ......

Bjarne stroustrup http://www.research.att.com /~ BS/

Stanley B. Lippman http: // blogs.msdn.com/slippman/ (Chinese http://www.zengyihome.net/slippman/index.htm)

Scott Meyers http://www.aristeia.com/

David musser http://www.cs.rpi.edu /~ Musser/

Bruce Eckel http://www.bruceeckel.com

Niclai M. josutis http://www.josuttis.com/

Herb Suter http://www.gotw.ca/

Andrei Alexandrescu http://www.moderncppdesign.com/

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.