想要使用g_timeout_add。 必须运行glib主循环?
我正在尝试使用g_timeout_add(timevalue,Func,在Func中传递的值)添加回调以获取某些状态或在timevalue之后打印一些内容。
我无法看到它。 我还要调用主循环吗? 或任何其他类型的function,以使其工作?
g_timeout_add
是一个包装器,用于创建将在GSouce
中使用/处理的GSouce。 通常运行GMainLoop
,或者在更复杂的情况下,在循环中调用g_main_loop_iteration
(或类似)。
是的,你也需要一个主循环。 这可以是隐式的(例如,在为您创建的gtk + app中),也可以是显式的(使用g_main_loop_new和g_main_loop_run),即:
loop = g_main_loop_new (NULL, TRUE) g_timeout_add ( ... ) g_main_loop_run (loop) ...