Introduction to the famous libraries

xiaoxiao2021-03-06  93

In C , the position of the library is very high. Mr. Bjarne Stroustrup, the father of C , has repeatedly expressed the design library to expand the function.

Design more grammar words. In reality, C has a wide library door, and the problem solved is extremely wide, and the library is lightweight to heavyweight.

Both. Many thinking of people who are open to the eyes, or they are angry. Since the number of libraries is very large, it is limited to the author

Horizontal, many of which don't know. So some libraries mentioned in the article are more famous large libraries.

Standard library

The standard library provides basic facilities for C programs. Although the C standard library has tossing with the C standard for many years until the standard introduction is

Model, but it is very gratified in the implementation of the standard library, and has been proven to have an industrial level strength.

excellent work.

1, Dinkumware C Library

Reference site: http://www.dinkumware.com/p.j. High quality standard library written by Plauger. P. J. Dr. Plauger is the winner of the DR. Dobb's program design outstanding award. Adopy

The written library was used by Microsoft, and recently Borland also obtained its OEM's license, which used in its C / C products.

Dinkumware's library.

2, RogueWave Standard C Library

Reference site:

Http://www.roguewave.com This library has been used in the earlier versions of Borland C Builder, later being replaced by other libraries. The author is not recommended

.

3, SGI STL

Reference site:

http://www.roguewave.com

SGI's C standard template library.

4, Stlport

Reference site: http://www.stlport.org/sgi STL library cross-platform portable version.

Quasi-standard library - Boost

Boost library is a C library that passes through thousands of hammer, portable, providing source code, as a standard library, is a C standardization process

One of the engines. Boost library initiated by the C Standard Board Working Group, there is very much influence in the C community, and its members have nearly 2,000 people.

. The Boost library has brought us the latest, coolest, most practical technology, which is a "quasi" standard library.

There are more famous libraries in Boost:

Regex Regular Expression Library

Spiritll Parser Framework, direct expression of EBNF with C code

GRAPH diagram assembly and algorithm

Lambda defines a short anonymous function object in the call, which is very practical functions.

Concept Check Checking Concept in generic programming

Metal programming framework for MPL implementation

Thread portable C multi-thread library

Python maps C classes and functions into Python

Pool Memory Pool Management

Smart_ptr5 intelligent pointer, learning intelligent pointer must read, a good reference is from Cuj's article:

SMART Pointers in boost, oh, this article can be found, CUJ is available online. Chinese version of the pen in "Dr."

Dobb's Journal Software Development Magazine 7th Reeds.

BOOST is generally a high value of high quality and high quality. And due to its emphasis on cross-platform, the standard C is emphasized

Write platforms unrelated, modern C developers must have tools. But there are many things in Boost to experimental nature, and practical use in actual development needs to be cautious. And many Boost's library functions are expanded to language functions, and their constructs have different techniques, do not ritosis.

Time-spent time study. Boost is another side, such as the library such as Graph is industrial strength, good structure, very worthy of study

Boutique code, and you can safely use a lot of use in product code.

Reference site: http://www.boost.org (domestic mirror:

http://www.c-view.org/tech/lib/boost/index.htm)

GUI

In many C libraries, the library of the GUI part is more prosperous, and it is more compelling. In actual development, the choice of the GUI library is also

A very important thing, let's review the selected GUI libraries, their own characteristics and support of related tools.

1, MFC

The famous Microsoft Basic Class Book (Microsoft Foundation Class). People who learn VC should know this library. although

However, from the technical point of view, the MFC is not very beautiful, but it is built on the Windows API, which enables programmers to work easier,

High efficiency, reduce the code that must be written when establishing a Windows program, and it also provides all general C programming

Advantages, such as inheritance and packaging. The program written by the MFC is portable on the various versions of the Windows operating system, for example,

The code written under Windows 3.1 can be easily ported to Windows NT or Windows 95. But in recent development and

The official support will be subtracted.

2, Qt

Reference website: http://www.trolltech.comQt is a multi-platform C graphical user interface application framework for Trolltech. It provides application developers to build art

The functions required for the graded graphical user interface. QT is a full-faced object that is easy to expand and allows you to make a true component programming. since

Earlier in 1996, QT entered the business sector, which has become the basis of thousands of successful applications worldwide. QT is also flow

The basis of the Linux desktop environment KDE, and it also supports Windows, Macintosh, UNIX / X11 and other platforms.

3, wxwindows

Reference website: http://www.wxwindows.org

Cross the platform GUI library. Because of its level hierarchical, there is article transcatal transfiguration from MFC to WXWindows to achieve cross-platform

Features. Through years of development is also a growing GUI library, supporting the same not weaker than two libraries. And is completely open source

Codes. The new C Builder X GUI designer is based on this library.

4, FOX

Open source of GUI library. From the experience of his person's personal development, the author has an ideal GUI library to feel the feeling.

Thus, it began development of this library. Interested can try it.

Reference website: http://www.fox-toolkit.org/

5, WTL

A library based on ATL. Because using a large amount of ATL's lightweight method, template and other technologies, doing code size, and speed optimization

It is very in place. The main use group is a developer of visualization controls for developing COM lightweight.

6, GTK

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

GTK is a big name Ding Ding's open source Gui library. In the world of Linux, there is a killer application like gnome. GTK is the C package version of this library.

Telecommunication

ACE

Reference website:

http://www.cs.wustl.edu/~schmidt/ace.html

Representatives of C libraries, overweight network communication development frameworks. ACE self-adaptive communication environment (Adaptive Communication

Environment is an object-oriented framework that can be freely used, open source code, which implements many of the communication software for concurrent communication software.

Core mode. ACE provides a rich set of rich C packaging appearances and framework components that can across multiple platforms

Complete universal communication software tasks, including: event multi-channel separation and event processor assignment, signal processing, service initialization, process

Communication, shared memory management, message routing, distributed service dynamics (heavy) configuration, concurrent execution, synchronization, and so on.

Streammodule

Reference website: http://www.omnifarious.org/StrMod Designed to simplify libraries to write distributed programs. Trying to make the program to process asynchronous behavior easier, not the synchronous housing

Bread the essence of asynchronous.

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

Reference website:

http://www.pcs.cnu.edu/~dgame/sockets/socketsc /sockets.html

Another package library for Socket.

Xml

XERCES

Reference website: http://xml.apache.org/xerces-c/

Xerces-C is a very robust XML parser that provides verification, as well as SAX and DOM APIs. XML verification in document type

Document Type Definition, DTDs have good support and add support W3C XML in December 2001.

The basic complete open standard of Schema.

XMLBOOSTER

Reference Website: http://www.xmlbooster.com/ This library has greatly improved the speed of XML parsing by generating a special Parser, and can generate corresponding GUI programs to modify

This Parser. Another possible solution is provided outside the DOM and SAX mainstream XML parsing methods.

PULL PARSER

Reference website:

Http://www.extreme.indiana.edu/xgws/xsoap/xpp This library uses the PARSER of the PULL method. There is a Pull Parser at the bottom of each SAX, this XPP

This layer is exposed to you directly. It is worth trying to try it with your speed.

Xalan

Reference website: http://xml.apache.org/xalan-c/

Xalan is an XSLT processor for converting XML documents to HTML, plain text, or other XML type documents.

CMarkup

Reference website: http://www.firstObject.com/xml.htm

This is an XML parser using EDOM. It is very flexible on many ideas. It is worth finding outside the DOM and SAX.

Seeking a bit inspiration.

LIBXML

http://libxmlplusplus.sourceforge.net/

LIBXML is a scientific calculation of C packaging version of the famous libXML XML parser

BLITZ

Reference website: http://www.oonumerics.org/blitzblitz is a high-efficiency numerical calculation function library, its design purpose is to create a set of convenient as C , at the same time

A faster than the Fortran speed computing environment. Usually, the numerical program written by C is more than 20% slower than Fortran, so

BLITZ is to change this shortcomings. The method is to use C Template technology, program execution can even be faster than Fortran.

BLITZ is still in development, for common linear algebraic methods such as common SVD, FFTS, QMRES, but users

The functions provided by BLITZ can be easily utilized.

Pooma

Reference website:

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

Pooma is a free high-performance C library for processing parallel scientific calculations. Pooma's object-oriented design is convenient for fast procedures

Order development, optimized parallel machines to achieve the highest efficiency, facilitate use in industrial and research environments.

MTL

Reference Website: http://www.osl.iu.edu/research/mtl/matrix Template Library (MTL) is a high-performance generic component library, providing a large number of linear algebraes of various format matrices.

Function. In some applications, in the case of using a high-performance compiler, such as the compiler of Intel, it can be seen from the generated assembly code.

There is almost no pattern with handwriting.

Cgal

Reference website: www.cgal.org

The purpose of Computational Geometry Algorithms Library is to put most important solutions in calculating geometries and

Methods are provided to users of the industry and academia in the form of C libraries.

game development

AUDIO / Video 3D C Programming Library

Reference website:

http://www.galacticasoftware.com/products/av/AV3D is a cross-platform, high-performance C library. The main characteristics are to provide 3D graphics, sound support (SB, and S3M), control interface

(Keyboard, Mouse and Remote Sensing), XMS.

Klayge

Reference website: http://home.g365.net/EngineDev/

Domestic game development masters have a game engine developed by C . Klayge is an open source, cross-platform game engine, and use

Python is a scripting language. Klayge is issued under the LGPL protocol. Thanks to Mr. Gong Minmin to contribute to the Chinese game development cause.

OGRE

Reference website: http://www.ogre3d.org

OGRE (object-oriented graphics rendering engine) is developed with C , using flexible object-oriented 3D engines. Its purpose is to let developers

Applications or games based on 3D hardware devices can be developed more conveniently and directly. The class library in the engine is a more underlying system library (such as:

All DIRECT3D and OpenGLs are abstracted and provide interfaces and other classes based on real world objects.

Thread

C threads

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

The goal of this library is to provide programmers with easy-to-use classes, which are inherited to provide a large number of threads in the Linux environment.

ZTHREADS

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

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

Serialization

S11n

Reference website: http://s11n.net/

A STL-based C library for serializing POD, STL containers, and user-defined types.

SIMPLE XML PERSISITENCE LIBRARY

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

This is a lightweight C library that transfers the object sequence into XML.

String

C Str Library

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

Operating strings and characters, supporting Windows and supporting GCC multi-platform. Provide highly optimized code and support multi-threaded ring

State and Unicode, as well as regular expressions.

CommON text Transformation Library

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

This is a library that parses and modifies the STL string. CTTL SUBSTRING class can be used to compare, insert, replace, and syntax with EBNF

Elignment.

Greta

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

This is a library that is developed by researchers in Microsoft Research Institutes. There is a very good manifestation in the case of small matches.

Integrate

P :: Classes

Reference website: http://pclasses.com/

A highly portable C application framework. The I / O system, I / O system, based on the type and thread secure

The plugin's network protocol transparent I / O architecture, the plug-in application message log frame, access the class of the SQL database, and more.

ACDK - ArtefakTur Component Development Kit

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

This is a platform-independent C component framework, similar to the frame (reflection mechanism, thread, unicode, waste) in Java or .NET.

Set, I / O, Network, Utility, XML, etc.), as well as Java, Perl, Python, TCL, LISP, COM, and CORBA

integrated.

DLIB C Library

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

A synthesis of a variety of classes. Big integer, Socket, thread, GUI, container, and browse directory API, etc.

Chilkat C Libraries

Reference website:

http://www.chilkatsoft.com/cpp_libraries.asp

This is a library that provides ZIP, E-mail, encoding, S / MIME, XML, etc.

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.

LFC

Reference website: http://lfc.sourceforge.net/ Oh, this is another C library attempted to provide everything.

Other library

Loki

Reference website:

Http://www.moderncppdesign.com/ Oh, you may complain that I have introduced it together, and a library of experimental nature. The author plays the function of the C template in LOKI.

The ultimate. And try to provide something similar to the idea of ​​similar design patterns through the library. It also provides a smart pointer to compare

Practical features.

ATL

ATL (Active Template Library) is a set of small, efficient, flexible classes that provide interoperable COM components

Basic facilities.

FC : The Functional C Library

This library offers some elements in a functional language. A representative of the library is expanded. If you want to be outside OOP

Looking for another pleasure, you can look at the world of functional programming. Master Peter Norvig in "Teach YourSelf

The functional language is listed in the document of the functional language as one of the 6-class programming languages ​​that should be learned.

Fact!

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

Another library that implements functional language characteristics

Crypto

Provide free libraries for processing password, message verification, single-way HASH, azoonoon encryption system.

There are also many very exciting or extremely practical C libraries, limited to our level, and articles of the article cannot be included. In pair

In the introduction of these recent libraries, it is not a matter of every we have used it, so it is inevitable that readers will see

Forgive.

Resource website

As we can understand the development of computer history through computer history, the website of C related figures can make us

To the most valuable reference and reference, the following people we think that there is not introduced, just because the following characters are in the field of C fields.

As is well known, we only carry out the relevant resources for readers to learn, they have worked in Bell Lab, some work in well-known

Translator manufacturers, some are constantly promoting the standardization of language, some have written a lot of thousands of indiscons ...

Bjarne stroustrup http://www.research.att.com/'>http://www.research.att.com/~bS/

Stanley B. Lippman

http://blogs.msdn.com/slippman/ (Chinese version

http://www.zengyihome.net '> http://www.zengyihome.net/slippman/index.htm'> http://www.zengyi

HOME.NET '> http://www.zengyihome.net/slippman/index.htm)

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

David musser http://www.c '> http://www.c'> http://www.cs.rpi.edu/~musser/

Bruce eckel http://www.bruceeckel.com '> http://www.bruceeckel.com

Nicolai M. Josuttis http://www.josuttis.com/http://www.josuttis.com/herb sutter http://www.gotw.ca/http://www.gotw.ca/

Andrei alexandrescu

Http://www.moderncppdesign.com/'http://www.moderncppdesign.com/'Http://www.moderncppdesi

gn.com/http://www.moderncppdesign.com/

转载请注明原文地址:https://www.9cbs.com/read-104842.html

New Post(0)