我是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()"功能? : - (
你能帮助我吗?
非常感谢。
答案 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
。