質問

趣味のCプログラミングプロジェクトがいくつかあり、それらを始めたいと思います。私はリベラルなライセンスを持つオープンソースライブラリを探しています(クレジットが欲しいですが、ほとんど誰でも使用できます)。ライブラリには、C標準ライブラリといくつかの移植可能なスレッドプリミティブよりも優れた文字列が必要です。

GLib および APR 。あなたの実際の経験は何ですか?どちらが優れた基礎Cライブラリですか?同じニッチを満たす他のライブラリはありますか?

役に立ちましたか?

解決

glibは一般にaprより優れていると思います。 glibには、ポータブルライブラリとしてさらに多くのデータ構造があります。たとえば、ハッシュテーブル、あらゆる種類のリスト、キュー、スタック、動的配列、引数解析用、ファイルioには独自のラッパーもあり、メモリ管理は簡単に変更できます。例えば、glibにBoehm Weisser GCを簡単に使用させることができます。これは、AFAIKTをApacheで実行したことはありません。私は少し違うと決めます。データ構造のより便利なライブラリが必要な場合は、glibの方が適しています。 GUIのものに関しては、libaprには何もありませんが、glibにはgdk / gtk +があり、必要に応じてgnomeに多くのものがあります。

ただし、ネットワーク関連のものであれば、libaprは間違いなくglibより優れています。

だから私の提案は

  • デスクトッププログラミング:GTK +とglibを使用します。
  • ネットワーク関連:aprを使用しますが、glibにはこのポータブルなものもすべて含まれています。

他のヒント

4月に行きます。 APRはUnix / Windowsの移植性が優れており(専用の移植性ライブラリである)、GLibは従来よりUnix指向でした。 APRはGLibよりも大きなライブラリであり、多くの有用なもの(ハッシュテーブル、引数解析、ファイルI / Oのもの、メモリ管理、共有メモリルーチン、シグナル処理など)を備えています。

c ++ stlを使用したくない理由はありますか? 「cスタイル」を書いている場合でも、クラスなしのコードでは、C ++の文字列とデータ構造を使用できます。

もちろん、Cに固執する正当な理由はたくさんあります。その場合は、glibの推奨事項を2番目にします。 APRはユーティリティライブラリというよりも移植性の高いレイヤーです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top