An introduction to the C ++ library

xiaoxiao2021-03-06  21

An introduction to the C library

The knife is published on March 15, 2005.

It again reflects the efficiency of C to maintain the core language and vigorously develop the development trend of application, 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 of designing more grammar. In reality, C library doors are also extremely widely solved, and the library has a lightweight to heavyweight. Many thinking of people who are open to the eyes, or they are angry. Since the number of libraries is very large, they are limited to the level of the author, many of which don't know. So some libraries mentioned in the article are more famous large libraries. The basic facilities of the C program are available in the standard library standard library. Although the C standard library has been tossing with C standards until the standard introduction is formally fixed, it is very gratifying in the realization of the standard library, and has been proved to have an industrial level strength. Good job. 1, Dinkumware C Library reference site: http://www.dinkumware.com/ '> http://www.dinkumware.com/p.j. PLAUGER Writing High Quality Standard Library. P. J. Dr. Plauger is the winner of the DR. Dobb's program design outstanding award. The library prepared by Microsoft has been used by Microsoft, and recently Borland has also obtained its OEM's license, which uses Dinkumware libraries in its C / C products. 2, Roguewave Standard C Library reference site: http://www.roguewave.com/ '> http://www.roguewave.com/'> http://www.roguewave.com/ '> http: // www . Roguewave.com / This library has been used in the early versions of Borland C Builder, and later is replaced by other libraries. The author is not recommended. 3, SGI STL reference site: http://www.roguewave.com/ '> http://www.roguewave.com/'> http://www.roguewave.com/ '> http://www.roguewave .com / sgi C standard template library. 4, Stlport Reference Site: http://www.stlport.org/ '> http://www.stlport.org/sgi STL library cross-platform portable version. Quasi-Standard Library - Boostboost library is a C library that has passed thousands of hammer, portable, providing source code, as a standard library, is one of the engine of C standardization processes. Boost libraries are launched by members of the C Standards Committee Working Group, which has greatly affected in the C community, and its members have nearly 2,000. The Boost library has brought us the latest, coolest, most practical technology, which is a "quasi" standard library.

Boost is more famous, there are such libraries: Regex Regular Expression Library Spiritll Parser Framework, direct expression of EBNFGRAPH and algorithm with C code Lambda Define Short anonymous function objects in the call, very practical Functional Function Concept Check Checking the CONCEPTMPL in generic programming Framework Thread portable C multi-thread library Python to map C classes to PYTHON Pool Memory pool management Smart_ptr5 smart pointer, learn smart pointer must read, one copy Good reference is from Cuj's article: Smart Pointers in Boost, Oh, this article can be found, Cuj is available online. The Chinese version of the pen is translated in the "DR. Dobb's Journal Software R & D Journal". BOOST is generally a high value of high quality and high quality. And due to its emphasis on cross-platform, the standard C emphasizes the preparation of the platform-independent, modern C developers must. 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 constructive use of the unacceptable technique, do not rash the time to study. Boost is another side, such as a library such as Graph is a boutique code with good industrial strength, very structural, very worthy of study, and can be safe in the product code. Reference site: http://www.boost.org '> http://www.boost.org (Domestic mirror: http://www.c'> http://www.c '> http: // www .c '> 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 optional GUI libraries, their own characteristics and support for related tools. 1, MFC's famous Microsoft Foundation Class. People who learn VC should know this library. Although the MFC is not very beautiful from the technical point of view, it is built on the Windows API, which enables programmers to work more easily, high programming efficiency, reduces the code that must be written when establishing a Windows program, at the same time All general C programming advantages, such as inheritance and packaging. The program written by the MFC is portable on each version of the Windows operating system, for example, code written under Windows 3.1 can be easily ported to Windows NT or Windows 95. But in recent development and official support. 2, qt reference website: http://www.trolltech.com/ '> http://www.trolltech.com/qt is a multi-platform C graphical user interface application framework for Trolltech. It provides the application developer to establish the functionality required to establish an art graphical user interface. QT is a full-faced object that is easy to expand and allows you to make a true component programming. Earlies earlier in 1996, QT entered the business sector, which has become the basis for thousands of successful applications worldwide.

QT is also the foundation of the popular Linux desktop environment KDE, and it also supports Windows, Macintosh, UNIX / X11 and other platforms. 3. WXWINDOWS Reference Website: http://www.wxwindows.org/ '> http://www.wxwindows.org/ Cross-platform GUI library. Because of its level hierarchical imaging, there is a paper introducing code transplants from MFC to WXWindows to achieve cross-platform functions. Through years of development is also a growing GUI library, supporting the same not weaker than two libraries. And it is completely open source. The new C Builder X GUI designer is based on this library. 4, FOX open source GUI library. From the experience of their personally developed an ideal GUI library, the author should look forward to the feeling, and start the development of this library. Interested can try it. Reference website: http://www.fox '> http://www.fox-toolkit.org/5, WTL Based on ATL's library. Because of the use of a large amount of ATL's lightweight technique, template and other technologies, in terms of code size, and speed optimization. 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 great name of the 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. Library network communication ACE reference website: http://www.c '> http://www.c'> http://www.cs.wustl.edu/~schmidt/ ACE.HTMLC library representative, over-weight network communication development framework. The ADAPTIVE COMMUNICATION Environment is an object-oriented framework that is free to use, open source, in which many core modes for concurrent communication software are implemented. ACE provides a set of rich Wrapper Facade and framework components that complete universal communication software tasks across a variety of platforms, including: event multiplexing and event processor assignment, signal processing, service Initialization, inter-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/ '> http://www.omnifarious.org/StrMod/ Designed to simplify the library written by the distributed program. Trying to make the program to process asynchronous behavior more easily, not the essence of asynchronous enclosures with synchronous housings. SimpleSocket Reference Website: http://home.hetnet.nl/~lcbokkers/simsock.htm This class library allows the written socket-based client / server program easier. A Stream Socket API for C Reference Website: http://www.pcs.cnu.edu/> http://www.pcs.cnu.edu/~dgame/sockets/socketsc /sockets.html is another to Socket Package. XMLXERCES 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 has good support in document type definition (DTD), and in December 2001, the basic complete open standards supporting W3C XML Schema are added. XMLBOOSTER Reference Website: http://www.xmlbooster.com/ '> http://www.xmlbooster.com/ This library has greatly improved the speed of XML parsing by generating special Parser, and can generate corresponding The GUI program will 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/ '> http://www.extreme.indiana.edu/xgws/xsoap/xpp/ This library uses the PARSER of the PULL method . There is a Pull Parser under each SAX's Parser, which uses this layer to expose this layer directly to everyone. 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 an XML document to HTML, plain text, or other XML type document. CMarkup Reference Website: http://www.firstObject.com/xml.htm '> http://www.firstObject.com/xml.htm This is an XML parser using EDOM. It is very flexible on many ideas. It is worth seeing to seek a little inspiration outside the DOM and SAX. LIBXML http://libxmlplusplus.sourceforge.net/libxml is the C package version of the famous libXML XML parser BLITZ Reference website: http://www.oonumerics.org/Blitz/> http: // Www.oonumerics.org/blitz/blitz is a high-efficiency numerical calculation function library. Its design purpose is to create a set of elements as C , while faster than the Fortran speed. Typically, the numeric program written by C is more than 20% slower than Fortran, so Blitz is to change this shortcoming. 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 can easily build the functions provided by BLITZ . POOMA Reference Site: http://www.c '> http://www.c'> http://www.codesourcery.com/pooma/poomapooma is a free high-performance C library for processing parallel scientific calculations. Pooma's object-oriented design is convenient for fast program development, optimizing parallel machines to achieve the highest efficiency, facilitates use in industrial and research environments. MTL Reference Website: http://www.osl.iu.edu/research/mtl/ '> http://www.osl.iu.edu/research/mtl/matrix Template Library (MTL) is a high-performance pan Type component library, providing a large number of linear algebraic aspects of various format matrices.

In some applications, the compiler of the INTEL is used in some applications, as can be seen from the generated assembly code, it can be seen from the handwriting with almost no difference. CGAL Reference Website: Www.cgal.orgcomputational Geometry Algorithms Library is to provide users with most important solutions and methods in calculating geometries to users in the C library in the form of C libraries. Game Development Audio / Video 3D C Programming Library Reference Website: http://www.galacticsoftware.com/products/av/ '> http://www.galacticasoftware.com/products/av/av3d is a cross-platform 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 Master's game engine developed with C . KLayGE is an open source, cross-platform game engine, and uses Python as 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 '> http://www.ogre3d.orgogre (Object-oriented graphics rendering engine) is developed with C , using flexible object-oriented 3D engine. Its purpose is to let developers can develop applications or games based on 3D hardware devices more easily and directly. The class library in the engine has abstracted all the use details of the lower system library (such as Direct3D and OpenGL) and provides 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 to provide 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/ A advanced object-oriented, cross-platform C thread and sync library. Serialized S11N Reference Website: http: //s11n.net/ A STL-based C library for serializing the POD, STL container, and user-defined types. Simple XML Persistence Library Reference Website: http://sxp.sourceforge.net/ This is a lightweight C library that transfers object sequence to XML. String C Str Library Reference Site: http://www.utilitycode.com/str/ '> http://www.utilitycode.com/str/ Operating strings and characters, support Windows and support for GCC platform. Provide highly optimized code and support multi-threaded environment and Unicode, as well as regular expressions. Common text Transformation Library Reference Website: http://cttl.sourceforge.net/ This is a library that resolves and modifies the STL string. The CTTL Substring class can be used to compare, insert, replace, and analyze the syntax of EBNF.

Greta Reference Website: http://research.microsoft.com/projects/greta/ This is a library that is developed by the Microsoft Research Institute's researchers. There is a very good manifestation in the case of small matches. Comprehensive P :: Classes Reference Website: http://pclasses.com/ A highly portable C application framework. The current attention type and thread secure Signal / Slot mechanism, I / O system includes a plug-in-based network protocol transparent I / O architecture, a plug-in application message log frame, access the SQL database class, 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 collection, i) similar to the frame (reflection mechanism, thread, unicode, waste collection, i) / O, network, utility, XML, etc.), and integration of Java, Perl, Python, TCL, LISP, COM, and CORBA. DLIB C library reference website: http://www.c '> http://www.c'> http://www.cis.ohio-state.edu/~ Kingd/ A synthesis of DLIB / a variety of classes. Big integer, Socket, thread, GUI, container, and browse directory API, etc. Chilkat C Libraries Reference Site: http://www.c '> http://www.c'> http://www.chilkatsoft.com/cpp_libraries.asp This is to provide ZIP Library of E-mail, encoding, S / MIME, XML, etc. C Portable Types Library (PTYPES) ​​Reference Website: http://www.melikyan.com/ptypes/ '> 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 other library to provide all C libraries to LOKI reference website: http://www.moderncppdesign.com/ '> http: // www. MODERNCPPDESIGN.COM/'Http://www.moderncppdesign.com/'httppdesign.com/http://www.moderncppdesign.com/ Oh, you may complain that I have introduced it together, a library of an experimental nature. The author has played the function of the C template in LOKI. And try to provide something similar to the idea of ​​similar design patterns through the library. It also provides a more practical function such as a smart pointer. Atlatl (Active Template Library) is a small, efficient, flexible class that provides basic facilities for creating interoperable COM components. The FC : The Functional C Library This library provides features in some functional languages. A representative of the library is expanded. If you want to find another point outside OOP, you can go to see the world of functional programming.

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

New Post(0)