Technician Introduction to the major libraries in C + +

Source: Internet
Author: User
Tags gtk xml parser xslt processor

The introduction of the famous libraries of C + + in C + +, the position of the library is very high. Mr. Bjarne Stroustrup, the father of C + +, has repeatedly expressed the view that designing a library to augment functionality is better than designing more grammatical words. In reality, the Library of C + + has a wide variety of problems, and the solution is extremely extensive, from lightweight to heavyweight. A lot of people are eye-opening, or looking at the idea of a masterpiece of thought. Because the number of libraries is very large, and is limited to the author level, many of them do not understand. Therefore, some of the libraries mentioned in this paper are relatively well-known large libraries. 1, C + + standard library has been proven to have industrial-grade strength of the masterpiece. 1. Dinkumware C + + Library Reference site: Http://www.dinkumware.com/P.J. Plauger the high-quality standard library written. P.J. Dr. Plauger is Dr. Dobb ' s Program Design Excellence Award winner. Its library has been used by Microsoft for a long time, and recently Borland has also achieved its OEM license, which uses Dinkumware libraries in its C + + products. 2, Roguewave standard C + + Library Reference site: http://www.roguewave.com/This library was used in earlier versions of Borland C + + Builder and later replaced by other libraries. 3, SGI STL Reference site: Http://www.roguewave.com/SGI Company's C + + Standard Template Library. 4, STLport Reference site: Http://www.stlport.org/SGI STL Library cross-platform portable version. 2, quasi-standard library Boostboost Library is a thoroughly tempered, portable, provide source code of C + + library, as the backing of the standard library, is one of the C + + standardization process engine. There are a few more famous libraries in boost: Regex: Regular Expression Library SPIRIT:LL parser framework, directly expressing ebnfgraph in C + + code: Diagram components and algorithmic lambda: Define short anonymous function objects where they are called, Very practical functional function concept check: Examine Conceptmpl in generic programming: meta-programming framework implemented with templates thread: Portable C + + multiline libraries Python: Map C + + classes and functions into Python pool: Memory Pool management Smart_ptr:5 A smart pointer, learning smart pointer must read, a good reference is from Cuj article: Smart pointers in Boost, oh, this articleChapter can be found, Cuj is to provide online browsing.  Chinese version of the author in the "Dr.dobb's journal Software Research and Development magazine" in the 7th edition of the translation. Boost overall is a high-value, high-quality library. And because of its emphasis on cross-platform, the emphasis on standard C + + is to write platform-Independent, modern C + + developers must have tools. But there are a lot of things that are experimental in boost, and they need to be cautious in practical development. And many of the library functions in boost is an extension of the language function, the structure of the use of sophisticated techniques, do not rush to spend time to study. The other side of boost, such as graph, is an industrial-strength, well-structured, high-quality code that is worth reading, and can be used with confidence in the product code. Reference site: Http://www.boost.org3, GUI in many C + + libraries, the GUI part of the library is relatively prosperous, but also more compelling. 1, MFC's famous Microsoft Foundation Class library. But there has been a growing trend in recent developments and official support. 2. QT Reference site: http://www.trolltech.com Qt is a multi-platform C + + graphical user interface application framework for Trolltech company. Since the early 1996, QT has entered the business world, and it has become the foundation of thousands of successful applications worldwide. Qt is also the foundation of the popular Linux desktop environment KDE, and it also supports many platforms such as Windows, Macintosh, unix/x11 and so on. [Qt is currently a Nokia product, the original official website has expired] 3, wxwindows Reference site: http://www.wxwindows.org cross-platform GUI library. Because its class hierarchy is very similar to MFC. The GUI designer of the new C + + Builder X is based on this library. [Wangxinus Note: Under the pressure of Microsoft, has been renamed by Wxwindows to Wxwidgets]4, Fox Reference site: http://www.fox-toolkit.org/Open source GUI library. The author from his own experience in the development of an ideal GUI library should be what it feels like to start, thus began the development of this library. If you are interested, you can try it. 5. WTL is the developer of a visual control that develops COM's lightweight web-based download. 6. GTK Reference website: Http://gtkmm.sourceforge.net/GTK is a famous open source GUI library of C. In the Linux world, there are killer apps like Gnome. And Qt is the C + + package version of this library. ["QT is the C + + package version of this library" is wrongThe wrong. Qt earlier than GTK, the initial QT due to the protocol caused by the Community dissatisfaction, in addition to the development of a C-based GTK library, later extended version is GTK +. GTK + 's GNOME and QT KDE are the two main camps for Linux desktops, which have been hard to fire. The spirit of both sides and the open source community has now been reconciled. ]4, network communication 1, ACE reference website: http://www.cs.wustl.edu/~schmidt/ACE.html C + + library representative, ultra-heavyweight network communication development framework. 2. Streammodule Reference website: Http://www.omnifarious.org/StrMod is designed to simplify the library for writing distributed programs. 3. Simplesocket Reference Website: http://home.hetnet.nl/~lcbokkers/simsock.htm This class library makes it easier to write socket-based client/server programs. 4, a Stream socket API for C + + Reference website: http://www.pcs.cnu.edu/~dgame/sockets/socketsC++/sockets.html Another package library for the socket. 5, XML1, xerces reference website: http://xml.apache.org/xerces-c/xerces-c++ is a very robust XML parser that provides validation, as well as sax and Dom APIs. 2. Xmlbooster Reference Website: http://www.xmlbooster.com/provides another viable solution beyond the two main mainstream XML parsing approaches for DOM and sax. 3, Pull Parser Reference website: http://www.extreme.indiana.edu/xgws/xsoap/xpp This library uses the Pull method of the parser. 4. Xalan Reference website: http://xml.apache.org/xalan-c/Xalan is an XSLT processor used to convert an XML document into HTML, plain text, or other XML-type documents. 5. CMarkup Reference Website: http://www.firstobject.com/xml.htm This is an XML parser that uses Edom. Very flexible and practical in many ways. 6. libxml++ http://libxmlplusplus.sourceforge.net/libxml++ is a C + + package version of the famous Libxml XML parser。 7. TinyXML a very small XML parsing library, based on the DOM. 6, scientific calculation 1, blitz++ reference website: Http://www.oonumerics.org/blitz blitz++ is an efficient library of numerical computing functions designed to build a set of tools that are as convenient as C + +, A numerical computing environment that is faster than the FORTRAN speed. 2. Pooma Reference website: Http://www.codesourcery.com/pooma/pooma Pooma is a free, high-performance C + + library for processing parallel scientific computations. 3. MTL Reference website: 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. 4. Cgal Reference website: www.cgal.org The goal is to provide the most important solutions and methods in computational geometry to users in the industrial and academic world in the form of C + + libraries. 7, Game development 1, Audio/video 3D C + + programming Library Reference site: Http://www.galacticasoftware.com/products/av/AV3D is a cross-platform, high-performance C + + Library. The main features are 3D graphics, sound support (SB, and s3m), control interface (keyboard, mouse and Remote sensing), XMS. 2, KlayGE reference website: http://home.g365.net/enginedev/Domestic game development Masters own game engine developed in C + +. Klayge is an open source, cross-platform game engine that uses Python as the scripting language. Klayge is issued under the LGPL agreement. Thank Mr. Min for his contribution to the development of Chinese games. [This library people know very little, Baidu Encyclopedia Klayge entry or I created. A person to develop a game engine library, is to make the author ashamed, the author expressed admiration! ]3, OGRE Reference website: Http://www.ogre3d.orgOGRE (object-oriented graphics rendering engine) is developed in C + + using a flexible object-oriented 3D engine. It is designed to make it easier and more straightforward for developers to develop applications or games based on 3D hardware devices. The class library in the engine abstracts the full use details of the more underlying system libraries (such as Direct3D and OpenGL) and provides interfaces and other classes based on real-world objects. 8, Thread 1, C + + threads Reference website: 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 threading features that are difficult to see in a Linux environment. 2. Zthreads Reference website: http://zthread.sourceforge.net/An advanced object-oriented, cross-platform C + + thread and synchronization library. 9, serialization 1, s11n Reference website: http://s11n.net/An STL-based C + + library for serializing Pod,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. 10, String 1, C + + STR Library Reference website: http://www.utilitycode.com/str/operation string and character library, support windows and a variety of platforms supporting GCC. Provides highly optimized code and supports multithreaded environments and Unicode, along with support for regular expressions. 2, Common Text Transformation Library Reference website: http://cttl.sourceforge.net/This is a library that parses and modifies STL strings. The CTTL substring class can be used to compare, insert, replace, and parse with EBNF syntax. 3. Greta Reference Website: http://research.microsoft.com/projects/greta/This is a library of processing regular expressions developed by researchers at Microsoft Research. Very good performance in small match situations. 11, synthesis 1, p::classes reference website: http://pclasses.com/a highly portable C + + application framework. 2. Acdk-artefaktur Component Development Kit Reference site: http://acdk.sourceforge.net/This is a platform-independent C + + component Framework, Similar to frameworks in Java or. NET, as well as integration into Java, Perl, Python, TCL, Lisp, COM, and CORBA. 3. Dlib C + + Library Reference website: http://www.cis.ohio-state.edu/~kingd/dlib/A synthesis of various classes. Large integer, Socket, Thread, GUI, the container class, and the API to browse the directory, and so on. 4, Chilkat C + + Libraries Reference website: http://www.chilkatsoft.com/cpp_libraries.asp This is to provide zip,e-mail, coding, s/mime,xml and other aspects of the library. 5. C + + Portable Types library (PTypes) Reference website: http://www.melikyan.com/ptypes/This is a relatively simple alternative to STL, as well as portable multi-threaded and network libraries. 6, LFC Reference site: http://lfc.sourceforge.net/Oh, this is another attempt to provide everything in C + + library 12, other library 1, Loki Reference site: http://www.moderncppdesign.com/Oh, You might complain that I should have introduced it with boost, an experimental library. The author of the C + + template in Loki to the extreme. 2. Atlatl is a group of small, efficient and flexible classes that provide the basic facilities for creating COM components. 3, fc++: the functional C + + library provides some features in functional languages. 4, fact! Reference website: http://www.kfa-juelich.de/zam/FACT/start/index.html Another library that implements functional language features 5, crypto++

Technician Introduction to the major libraries in C + +

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.