GNOME3用アプリケーション開発に入門してみる
このへんから情報を取ってきたらよさそう。
PythonとかC++とかValaとか使った方が効率的そうだけど、最初ぐらいCでやるか。
Getting started with writing a GLib/GTK+ application in C
- GLib core
- GObject
- GIO
- GTK+
の順でやれとのこと。
GLib
先程のリンクから PDF へ The GLib/GTK+ Development Platform
リファレンスはこちら GLib Reference Manual: GLib Reference Manual
まずは簡単なマクロ
printf("%d\n", MAX(2, 3)); printf("%d\n", MIN(2, 3)); printf("%d\n", CLAMP(5, 10, 20));
コンパイルはこんな感じで
gcc $(pkg-config --cflags glib-2.0) -o main 01_glib_core.c $(pkg-config --libs glib-2.0)
あとはデバッグ用のマクロ
gint f(gint x) { g_return_val_if_fail(x != 0, 0); return 100 / x; }
この関数に 0 を渡すと ** (process:31444): CRITICAL **: f: assertion 'x != 0' failed
のように表示される。
リリース版を作る時は -DG_DISABLE_CHECKS
を付けてコンパイルすればチェックされない。
お次はメモリ管理系。
g_malloc
関数等が存在するが、通常は g_new
で書くっぽい。
文字列用にもいくつかある。
データ構造は必要になった時でいいや。