在哪个共享库.so是" g_signal_connect()"功能?

时间:2014-12-01 16:34:47

标签: gtk

我是Linux系统上的GAMBAS程序员,我试图通过使用外部GTK + 3函数编写一个非常小的GTK应用程序。

显然,我可以通过GTK共享的dinamic库使用这些外部函数" .so",特别是:libgtk-3.so.0.1000.8。

好吧,我有一个很大的问题要找" g_signal_connect()"功能,因为我无法识别确切的共享库.so! : - (

libgtk-3.so.0.1000.8库没有" g_signal_connect()"符号

...在哪里" g_signal_connect()"功能? : - (

你能帮助我吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

g_signal_connect()被定义为C预处理器宏

#define g_signal_connect(instance, detailed_signal, c_handler, data) \
    g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)

其中g_signal_connect_data()是共享对象文件中实际存在的函数。

宏专门将其参数作为g_signal_connect_data()的前四个参数传递,将NULL作为函数在第四个参数被销毁时调用,以指示应该没有,并指定no { {3}}(最后一个参数为0)。

您需要在绑定中自己重新创建这个缩短的表单。怎么取决于你。

请注意,其他一些类似的功能(如g_signal_connect_after())也是一样的。您可以在GLib内部gobject/gsignal.h文件中看到它们;在我的Ubuntu 14.10安装上,这是/usr/include/glib-2.0/gobject/gsignal.h