Linuxで使えるC言語ライブラリの総合カタログ

C言語による スーパーLinuxプログラミング Cライブラリの活用と実装・開発テクニック
C言語による スーパーLinuxプログラミング Cライブラリの活用と実装・開発テクニック飯尾 淳

ソフトバンククリエイティブ 2011-06-10
売り上げランキング : 91872


Amazonで詳しく見る
by G-Tools

Linuxでのプログラミングで利用できる、C言語のライブラリをいろいろと紹介している。広く浅く紹介。プログラムのビルドから、オプション解析、データベース、ネットワークプログラミング、科学技術計算、GUI、グラフィックス、テスト手法まで。ライブラリの総合カタログを見ているような感じ。いろいろと知らないことが発見できた。
OpenGLの章で、「二つのメインループ問題*1」に言及しているのは総合カタログならではと思われる。その解決方法として、GtkGLAreaとかGtkGLExt、という先進的なライブラリを紹介しているが、煙に撒かれたようで消化不良だ。
イベントループは、GUIプログラミング、OpenGL、ネットワークプログラミングそれぞれで存在するので、これらを組み合わせたプログラムでは常に頭痛の種になりうる。組み合わせはGUIOpenGLだけではないし、もちろんC言語だけで発生しうる問題ではないので、そのたびごとに都合よく統合的に扱えるライブラリはないと思われる。自分も悩んだ(そのときは、こんな風に解決した→2011-04-09 - 理想のユーザ・インターフェイスを求めて)。
この問題の詳細な解説をしている文献はどこかにないか、今後も探し続ける。

  • 本の中で紹介されていたが、もう少し調べたい項目

*1:イベントの発生を待つようなプログラムの場合、メインループに入ることで待ち状態になるので、それぞれでメインループを持つプログラムがあるとき、それら複数のプログラムを並行して実行するにはどうしたらいいかという趣旨の問題。二つ以上のループを同時には実行できない。