第4回~第5回の演習で実際に(自分で手を動かして)学んでもらう内容についてです. step1からstep4まで,もれなく,順番に進めていき,GLibの便利な機能を理解しましょう. step5は(さらにGLibに慣れるための)追加チュートリアルです. !!! 準備 * GLibの演習用にディレクトリを作成してください. 6< 8< % (cd ~; mkdir -p csd/glib) >8 * csd/glibはGLib練習用のディレクトリ >9 !!! お手本コード置き場 教育用端末なら 6< [/home/prog/kimura/csd/gtk/glib|file:///home/prog/kimura/csd/gtk/glib/] >9 以下にあります. !!! 演習内容 [教科書|http://wiki.cis.iwate-u.ac.jp/~wiki/csd2013/docs/GTK-book-all.pdf]第2章の内容をトレースし,中身を理解する. !! [step1] ファイル・ディレクトリの操作 * csd/glib/file を作り, * file-sample.c を(教科書ソース4-1どおりに)入力 * Makefile を作成する(参考:[[Makefileの書き方]]).pkg-configの指定は以下のようになるので注意. 6< 8< gcc file-sample.c -o file-sample `pkg-config --cflags --libs glib-2.0` >8 >9 * コンパイルして動作確認. 8< ./file-sample /home/h22j/h22jXXX >8 6< ((color red '''step1で理解すべき項目''')) * GLibを利用する際のインクルードファイル指定,コンパイル方法 * ディレクトリ,ファイルの取扱い方 >9 !! [step2] 連結リスト * csd/glib/glist/sort を作り, * list-sort.c を(教科書ソース4-2どおりに)入力 * Makefile を作成し,コンパイル・実行.'''動作を理解する'''. * さらに, * csd/glib/glist/operation を作り, * list-operation.c を(教科書ソース4-3どおりに)入力 * Makefile を作成し,コンパイル・実行.'''動作を理解する'''. 6< ((color red '''step2で理解すべき項目''')) * GListの使い方 * リストへのデータ挿入,削除の方法 * g_list_sort(), g_list_foreach()などの使い方 * g_strdupの動作 >9 !! [step3] ハッシュ * csd/glib/ghashtable を作り, * hash-sample.c を(教科書ソース4-4どおりに)入力 * Makefile を作成し,コンパイル・実行.'''動作を理解する'''. 6< ((color red '''step3で理解すべき項目''')) * GHashTableの使い方 * ハッシュテーブルへの値の登録,参照の方法 >9 !! [step4] イベントループ * csd/glib/timer を作り, * timer-sample.c を(教科書ソース4-5どおりに)入力 * Makefile を作成し,コンパイル・実行.'''動作を理解する'''. 6< ((color red '''step4で理解すべき項目''')) * g_timeout_add(), g_source_remove()の使い方 >9 !! [step5] (追加) 文字列処理 + 応用編 * [[GLib::ファイルと文字列の処理]] * [[GLib::リスト]] * [[GLib::ハッシュ表]] のページ内容にしたがって実習しましょう. 特に,[[GLib::ファイルと文字列の処理]]には,今後の開発にも役立つであろうGIOChannelやg_strsplit()などの使い方が含まれていますので,必ず取り組んでください.