ポータブルコンポーネント、C ++用のクロスプラットフォームライブラリ

「システムは、

できるだけシンプルに

一連の変更後”

Bjarne Stroustrup-プログラマ、C ++の作成者



前文



この記事では、Habrでほとんど取り上げられていない、かなり人気のあるPortable Componentsライブラリー(POCOと略記)についてお話したいと思います。 ソフトウェア製品のビジネスロジックの開発者にとっても、ほとんどの適用された問題の解決においても役立ちます。 C ++のクロスプラットフォームライブラリが豊富にあるため、POCOに直面する人が増え、どこから始めればいいのかわからなくなります。 この記事では、ライブラリに固有のテクノロジーを説明し、いくつかの問題を解決する簡単な例を示します。 また、このライブラリには、オープンソースプロジェクトと商用プロジェクトの両方で多くの成功が収められています。



説明



POCOは、ソフトウェア製品の開発、デバッグ、およびテストのプロセスを簡素化するクラスのコレクションです。 このライブラリは、接続性が低いモジュラーシステムの原理に基づいています。 彼女の同僚であるBoostと同様に、POCOはモジュールに分割され、各モジュールはシステムでその役割を果たしますが、Boostのような一般化されたプログラミングパラダイムほどハードコアとしてテンプレートマジックを使用しません。 もう1つの重要なプラスは、最終ディストリビューションのサイズです。POCO(Poco Foundation)カーネルのサイズは約1.5メガバイトのメモリ(バージョン1.4.3.0、MSVC v100)を必要とし、残りのモジュールは50〜800 KBです。 。 Applied Informatics Software Engineering GmbH -POCOの開発者は、2または4 MBのフラッシュと8 MBのRAMしか搭載されていないRJ-45コネクタフォームファクターで作られたDigi Connect ME 9210などの小型デバイスのサポートさえ宣言しています。



POCOは主にネットワーク開発に焦点を当てており、 Windows、Unix、Linux、eLinux、Mac OS X、Solaris、QNX Neutrino、Vxworks、Openvms、Tru64、HP-UX、Androidなどの一般的なオペレーティングシステムに移植されています。 プラットフォーム依存モジュールはすべてロジックから分離されているため、このリストは非常に急速に拡大しています。 実際、POCOは、C ++言語用の最新のコンパイラーがあるオペレーティングシステムに移植できます。



ライブラリは、サーバーまたはクライアント用のソフトウェアであるかどうかにかかわらず、開発の基礎として適用できますが、アプリケーションは使用可能なアーキテクチャのいずれかで実行されることが保証されます(特別な魔法がない場合もあります)。 さらに、POCOにはTCP Server Framework、Reactor Frameworkなどの強力なツールがあり、高性能のWEBサーバーを非常に簡単に作成できるため、開発時間を節約できます。 また、ライブラリには、コンソールアプリケーション、Unixデーモン、Windowsサービスを作成するためのスナップインがあります。 Qt、wxWidget、GTK +などのライブラリとの並行作業が可能です。



ライブラリの一部の概念は、 Javaクラスライブラリ、MS .NET Framework、およびApple Cocoaから借用しています 。 これらは主に、フロー制御やタイマーなどの高レベルのものです。



Pocoは、標準C ++およびSTLライブラリを使用して、 ANSI / ISO C ++ 2003言語標準に厳密に準拠して作成されています。 Boost Software Licenseの下で利用でき、商用および非商用の両方の使用が可能です。



POCOの学習方法





ほとんどの例は、ソースコード、SDKリファレンス、およびプレゼンテーションにあります。



基本モジュールと使用例



ライブラリコア




データ圧縮






暗号化






データベース




ファイルシステム




ログを操作する




マルチスレッド




ネットワーク技術




プロセス




ストリーミング操作




テキストエンコーディング




実用性




構成




XML






おわりに



結論として、これらのモジュールには特別な注意が必要であり、別の記事が必要なため、いくつかのモジュールの説明は省略されています。 この図書館には明るい未来があると心から信じています。 また、POCOの新しいC ++ 11標準の利点もいくつか見たいと思います。

次の記事では、POCOの特定の事項について説明します。 客観的なコメントや異議を申し上げます。

読んでくれてありがとう。



All Articles