GObject
C言語とGObjectを使っているフリーソフトウェアプロジェクトとしては、GNOMEデスクトップ、GTKツールキット、GIMP画像編集プログラムなどがある。
GObjectを使ったアプリケーションはC言語で書かれていることが多いが、GObject自体はC++、Java、Ruby、Python、.NET/Monoなどのオブジェクトシステムともうまくマッピングできる。従って、GObjectフレームワークを使ったライブラリに言語バインディングを作るのは比較的簡単である。
しかし、C言語でGObjectのコードを書くのは若干大変である。特に高級オブジェクト指向言語に慣れたプログラマにとっては苦痛かもしれない。例えば、ちょっとしたサブクラスを書くだけで数百行のコードを必要とする。とはいうものの、GObjectを使うことでC言語でオブジェクト指向的なコーディングが可能となる。
一級オブジェクトは存在しないが(GTypeにはメタタイプがない)、GObjectアプリケーションは実行時にクラスやインタフェースのようなメタオブジェクトを生成でき、イントロスペクションもサポートできる。この機能は言語バインディング以外にGladeなどのGUI設計アプリケーションで使われ、GObjectクラスを提供する共有ライブラリをロードし、そのクラスの全プロパティの一覧を獲得し、型情報とドキュメンテーション文字列を完成させるといったことが可能となる。
C++におけるvtableに相当する。先頭にスーパークラスのクラス構造体がある。その後に関数ポインタ群があり、それぞれがクラスの仮想メソッドを指している。クラス固有変数を使って、クラス変数をエミュレートできる。