Common Library of qishu technology Blog C ++

Source: Internet
Author: User
Tags gtk

From: http://www.cnblogs.com/qiyeshublog/articles/2378272.html

Standard Library

The standard library provides basic facilities for C ++ programs. Although the C ++ standard library has been tossing around with the c ++ standard for many years and has not been finalized until the standard is introduced, it is very gratifying to see a variety of implementations in the implementation of the standard library, it has been proven to be an industrial-level masterpiece.

1. dinkumware C ++ Library

Reference Site: http://www.dinkumware.com/'> http://www.dinkumware.com/

High quality standard library written by p.j. plauger. Dr. P. J. plauger is the winner of the dr. Dobb's Program Design Excellence Award. Its libraries have been used by Microsoft for a long time, and Borland has recently obtained its OEM license, using the dinkumware library in its C/C ++ products.

2. roguewave Standard C ++ Library

Reference Site: http://www.roguewave.com/'> http://www.roguewave.com/

This library was used in earlier Borland C ++ builder versions and later replaced by other libraries. I do not recommend this feature.

3. SGI STL

Reference Site: http://www.roguewave.com/'> http://www.roguewave.com/

SGI's c ++ standard template library.

4. stlport

Reference Site: http://www.stlport.org/'> http://www.stlport.org/

The cross-platform portable version of the sgi stl library.

 

Quasi-standard library-boost

The boost library is a C ++ library that has been tested, transplanted, and provided with source code. As a backup for the standard library, it is one of the engines of the C ++ standardization process. The boost library was initiated by members of the C ++ quasi-Committee library Working Group and has a significant impact in the C ++ community. It has nearly 2000 members. The boost Library provides us with the latest, coolest, and most practical technologies. It is a quasi-library without compromise.

There are several well-known libraries in boost:

RegEx
Regular Expression Library

Spirit
Ll parser framework, which expresses ebnf directly using C ++ code

Graph
Graph components and Algorithms

Lambda
Defines short and anonymous function objects in the called place. It is a very practical functional function.

Concept check
Check concept in generic programming

Mpl
Meta-programming framework implemented using templates

Thread
Portable C ++ multi-thread Library

Python
Map C ++ classes and functions to Python

Pool
Memory Pool Management

Smart_ptr
Five smart pointers are required to learn smart pointers. A good reference is from cuj's article:

Smart pointers in boost. Oh, this article shows that cuj provides online browsing. For the Chinese version, see the author's Translation in series 7th of dr. Dobb's journal Software Development Magazine.

In general, boost is a database of high practical value and quality. In addition, the emphasis on cross-platform and Standard C ++ is an essential tool for developers of modern c ++. However, there are many experimental things in boost, so you need to be cautious when using it in actual development. In addition, many library functions in boost can be called extensions of language functions. The construction of these functions is full of exquisite methods, so do not bother to spend time studying them. On the other side of boost, libraries such as graph are excellent code with industrial strength, good structure, and worth studying. They can also be safely used in product code.

 

Http://www.boost.org> http://www.boost.org (domestic image: http: // www. c '> http://www.c> http://www.c-view.org/tech/lib/boost/index.htm)

Gui

Among the many c ++ libraries, the GUI library is prosperous and attractive. In actual development, the selection of GUI Libraries is also very important. Next we will summarize the available GUI Libraries, their respective features, and the support of related tools.

1. MFC

The well-known Microsoft Foundation Class Library ). Anyone who has studied VC ++ should know this library. Although from a technical point of view, MFC is not very beautiful, but it is built on Windows API, it can make the programmer's work easier, high programming efficiency, reduces a large amount of code that must be written when a Windows program is created. It also provides all the advantages of General C ++ programming, such as inheritance and encapsulation. The program compiled by MFC can be transplanted on Windows operating systems of various versions. For example, the code written in Windows 3.1 can be easily transplanted to Windows NT or Windows 95. But in recent development and official support
Gradually Trend Micro.

2. QT

Reference Site: http://www.trolltech.com/'> http://www.trolltech.com/

QT is a multi-platform C ++ graphical user interface application framework of trolltech. It provides the functions required for application developers to create an artistic graphical user interface. QT is an easy extension to the entire object and allows true component programming. Since the beginning of 1996, QT has entered the business field and has become the basis for thousands of successful applications around the world. QT is also the basis for the popular Linux Desktop Environment KDE. It also supports windows, Macintosh, UNIX/X11, and other platforms.

3. wxwindows

Reference Site: http://www.wxwindows.org/'> http://www.wxwindows.org/

Cross-platform GUI library. Because its class level is very similar to MFC, some articles introduce code porting from MFC to wxwindows to implement cross-platform functions. After years of development, it is also an increasingly sophisticated GUI library, supporting the same two libraries. It is fully open-source. The recent C ++ builder x GUI designer is based on this library.

4. Fox

Open-source GUI library. From my own development experience, the author has come up with a feeling of what an ideal GUI library should look like and started development of this library. If you are interested, try it.

Reference Site: http://www.fox> http://www.fox-toolkit.org/

5. wtl

A library based on ATL. Because a large number of lightweight ATL techniques, templates, and other technologies are used, they are well positioned in terms of code size and speed optimization. The main target audience is the developer who develops com lightweight visual controls for download from the network.

6. GTK

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

GTK is a well-known C open-source GUI library. There are killer applications like gnome in the Linux World. GTK is the c ++ package version of the library.

Library

 

Network Communication

Ace

Reference Site: http://www.c> http://www.cs.wustl.edu /~ Schmidt/ace.html

Representative of the C ++ library, a super-heavyweight network communication development framework. Ace adaptive communication environment (Adaptive Communication Environment) is an object-oriented framework that can be freely used and open source code. It implements many core modes for concurrent communication software. ACE provides a rich set of reusable C ++ wrapper facade and framework components to complete common communication software tasks across multiple platforms, including: multi-channel event separation and event processor allocation, signal processing, service initialization, inter-process communication, shared memory management, message routing, distributed service dynamic (re) configuration, concurrent execution and synchronization, and so on.

Streammodule

Reference Site: http://www.omnifarious.org/strmod/'> http://www.omnifarious.org/StrMod/

Designed to simplify the compilation of distributed programs. It makes it easier to write programs that process asynchronous behaviors, instead of using the synchronous shell to package the asynchronous nature.

Simplesocket

Reference website: http://home.hetnet.nl /~ Lcbokkers/simsock.htm

This class library makes it easier to write socket-based client/server programs.

A stream socket API for C ++

 

Ogre

Reference Site: http://www.ogre3d.org> 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 their classes based on real-world objects.

Thread

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.

Zthreads

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

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

Serialization

S11n

Reference Site: http://s11n.net/

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

Simple XML persistence Library

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

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

String

C ++ STR Library

Reference Site: http://www.utilitycode.com/str/'> 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.

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.

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.

Image:

Cximage library, which is a classic image library and easy to use. The cornerstone of object processing.

Introduction http://www.codeproject.com/bitmap/cximage.asp

Comprehensive

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.

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.

Dlib C ++ Library

Reference Site: http://www.c> http://www.cis.ohio-state.edu /~ Kingd/dlib/

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

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.

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.

LFC

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

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

Other libraries

Loki

Reference Site: http://www.moderncppdesign.com/'> http: // www.moderncppdesign.com/'> 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.

 

Knuth apprentice (387889947) 13:47:07
What can stlport be used now?
It is more practical to switch to the eastl produced by EA.
Related Article

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.