GLib
![]() |
GLibとは、C言語で書かれたクロスプラットフォームのユーティリティライブラリの一種である。GTKプロジェクトの一部としてスタートしたが、現在では他のアプリケーションでも使われている。当初は低レベルなコードを入れるためのライブラリとされていたが、現在ではプラットフォーム間の差異を吸収する機能も加えられ、異なるCPU、オペレーティングシステム (OS) 間でのアプリケーションの移植性を確保するライブラリとしても利用されている。
機能
[編集]GLibに含まれる代表的な機能としては、以下のものがある。
- 基本的なデータ型とその上下限値の定義
- 標準マクロ
- 動的メモリ確保
- 警告、アサーション
- メッセージロギング
- タイマー
- 文字列操作
- gettextによる国際化
- 擬似乱数生成
- フック関数
- プラグインモジュールの動的ローディング
- スレッド
- メモリプール
- 文字列の自動補完
- 型システムGType
- オブジェクトシステムGObject
- WindowsにおけるUNIX向けプログラムとの互換機能
データ構造
[編集]頻繁に利用されるデータ構造とそれに対する操作が定義されている。以下に主なものを列挙する。
- メモリチャンク
- 双方向および片方向線形リスト
- 連想配列(ハッシュテーブル方式の実装)
- 可変長文字列
- 可変長配列
- 文字列チャンク(文字列のグループ)
- 動的配列
- 平衡2分探索木
- N分木
- quarks(文字列とユニークな整数識別子を対応付けるもの)
- keyed data lists(文字列や整数識別子でアクセス可能なデータ要素群)
- リレーションとタプル
- 構造体のキャッシュ