5

私は最近 GLib に触れて、いじっています。C ライブラリ関数の多くを GLib 関数に置き換えることができました (余談ですが、私はコマンド ライン処理の大ファンです!)。ただし、OS からのシグナル処理に関するドキュメントをあまり見つけることができませんでした。つまり、Linux では、アプリケーションを終了するために CTRL+C またはその他の信号を処理できるより良い方法はありますか? 現在、私は signal() を使用していますが、GLib を介して CTRL+C のハンドラーをセットアップできる方法があるかどうか疑問に思っています。

いつものように、助けてくれてありがとう。

4

1 に答える 1

7

GLIB経由でシグナルを使用する方法があります。以下は、シグナルの処理に使用できる関数の一部です。

guint               g_unix_signal_add                   (gint signum,
                                                         GSourceFunc handler,
                                                         gpointer user_data);
guint               g_unix_signal_add_full              (gint priority,
                                                         gint signum,
                                                         GSourceFunc handler,
                                                         gpointer user_data,
                                                         GDestroyNotify notify);
GSource *           g_unix_signal_source_new            (gint signum);

UNIX 固有のユーティリティと統合、 g_unix_signal_add() を確認してください。

于 2013-07-26T06:13:34.890 に答える