OSSリンク一覧

組み込みWebに使えそうなOSS一覧。

全部C言語です。
※make install、x86系CPU/CentOS上でのサンプルプログラムによる動作までは確認済。

RDBMS

  • sqlite SQLite Home Page
    • インプロセス型RDBMS
    • 自力で実装すると大変そうなトランザクション/トリガ/インデックス機能有り。
    • ストアドプロシージャは機能有無不明。
    • サンプルプログラム作成後の所感
      • 簡単なsql文なら snprintf使えば生成できるので以外と簡単。
      • 複数プロセスから読み書きしたい場合はセマフォでロックする必要有りかも。

jsonライブラリ

  • json JSON
  • jansson Jansson — C library for working with JSON data
    • JSON文字列をエンコード&デコードできるCライブラリ。
    • サンプルプログラム作成後の所感
      • サンプル作成にあたり、日本語のサンプルがないかと探したが殆どなかった。なので公式のページのAPIリファレンスを読みながら作成。自分の英語力が乏しいので読解に苦労した。google翻訳万歳。
      • リファレンスカウンタの開放についての作法が良く分からずじまい。作法が分かるまで常駐プロセスに使うのはメモリリークするので危険かも。
      • GNU準拠という訳じゃないからか、errno を返してくれないのでエラー時の原因調査は難しそう。

ハッシュテーブル

  • hcreate Man page of HSEARCH
    • ハッシュテーブルを作成するライブラリ
    • 配列の要素をO(1)オーダで見つけたいといったときに使う。
    • サンプルプログラム作成後の所感
      • キーと値をハッシュテーブルに入れた後は、てっきりハッシュテーブル内で新たに確保されるかと思ってたら、ポインタだけ保存しているみたいで、キーの文字列(ポインタ)の中身を変えたら、h_search() が意図通り動作せず。キー文字は個別に確保、管理するようにすること。