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