[Poco study notes] Poco library introduction

When it comes to C/C++, many people think that this is a language that makes wheels, and it is difficult to implement some applications. It is true that C/C++ is not like python, java and other high-level languages ​​that have many easy-to-use libraries.

As the father of C++ said, with a good library, C++ can easily accomplish any task.

"Without a good library, most interesting tasks are hard to do in C++; but given a good library, almost any task can be made easy."

--Bjarne Stroustrup

Poco library is an open source C++ library, similar to Java class library, .Net framework, Apple's Cocoa. Designed to help C++ developers build a C++ application more easily. Poco is not so much a library, as it is a C++ framework, which allows us to implement some functions more easily.

The following structure diagram is taken from Poco's official website .

 

The main libraries of Poco are Foundation, XML, Util, Net these four libraries

Among them, the Foundation library is the core of the entire Poco library, and the Foundation library is an abstraction layer for the underlying platform, commonly used classes and functions. As can be seen from the above architecture diagram, other library functions of the Poco library are based on the Foundation library.

The XML library makes it easier for C++ to read, process and write XML files. In addition to supporting XML files, Poco also provides related libraries for the Json data format.

The Util library contains a framework for creating command line and server applications. Including command line parameter processing support and management configuration information

The Net library provides various network layer implementation functions. Whether the application is sending and receiving data from a pure TCP socket or building an Http Server, it can be implemented through the Net library.

The NetSSL library provides support for openSSL, allowing us to create secure sockets and support for Https

The Crypto library provides symmetric/asymmetric encryption algorithms

The Data library provides us with a unified database interface for different databases. Now the supported databases are sqlite, MySQL, PostgreSQL, MongoDB, Redis

Guess you like

Origin blog.csdn.net/zhh763984017/article/details/113443972