始めたい趣味の C プログラミング プロジェクトがいくつかあります。リベラルなライセンスを持つオープン ソース ライブラリを探しています (クレジットが必要ですが、ほとんど誰でも使用できます)。ライブラリには、C 標準ライブラリよりも優れた文字列と、いくつかの移植可能なスレッド プリミティブが必要です。
GLibとAPRを検討しています。実務経験は?より優れた基本的な C ライブラリはどれですか? 同じニッチを埋める他のライブラリはありますか?
glib は一般的に apr よりも優れていると思います。glib には、移植可能なライブラリとして、さらに多くのデータ構造があります。たとえば、ハッシュテーブル、すべての種類のリスト、キュー、スタック、動的配列、引数の解析用、ファイル io には独自のラッパーもあり、メモリ管理は簡単に変更できます。たとえば、簡単に glib で Boehm Weisser GC を使用できるようにすることができます。私は少し違うと判断します。データ構造のより便利なライブラリが必要な場合は、glib の方が優れています。GUI に関して言えば、libapr には何もありませんが、glib には gdk/gtk+ と、必要に応じて gnome 用の多くのものがあります。
ただし、ネットワークに関しては、libapr が glib よりも確実に優れています。
だから私の提案は
私はAPRで行きます。APR は Unix/Windows (専用の移植性ライブラリであるため) の移植性に優れており、GLib は従来より Unix 指向でした。APR は GLib よりも大きなライブラリであり、多くの便利な機能 (ハッシュ テーブル、引数解析、ファイル I/O 機能、メモリ管理、共有メモリ ルーチン、シグナル処理など) が含まれています。
c ++ stlを使用したくない理由はありますか?クラスなしで「cスタイル」のコードを記述している場合でも、c++文字列とデータ構造を使用できます。
もちろん、Cに固執する正当な理由はたくさんあります。その場合は、glibの推奨事項を2番目にします。APRは、ユーティリティライブラリというよりも移植性の高いレイヤーです。