2014-12-01 130 views
0

我是Linux系統上的GAMBAS程序員,我正在嘗試使用外部GTK + 3函數編寫一個非常小的GTK應用程序。哪個共享庫.so是「g_signal_connect()」函數?

顯然,我可以通過GTK共享動態庫「.so」使用這些外部函數,特別是:libgtk-3.so.0.1000.8。

那麼,我有一個很大的問題找到「g_signal_connect()」函數,因爲我無法識別確切的共享庫.so! :-(

libgtk-3.so.0.1000.8庫沒有 「的g_signal_connect()」 符號。

...這裏是 「的g_signal_connect()」 函數?:-(

你能幫助我嗎?

非常感謝。

+0

請添加一些代碼格式... – Chrismas007 2014-12-01 16:36:46

回答

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作爲函數時第四個參數被破壞,以指示應該有沒有來電,並指定沒有special flags(0代表最後一個參數) 。

您將需要在綁定中自己重新創建縮短的表單。如何由你決定。

請注意,其他一些類似的功能,如g_signal_connect_after()也是如此。您可以在GLib內部的gobject/gsignal.h文件中看到它們全部;在我的Ubuntu 14.10安裝這是在/usr/include/glib-2.0/gobject/gsignal.h

+0

這不回答問題共享對象提供了'g_signal_connect_data'符號。 – 2014-12-01 18:27:55

+0

'libgobject-2.0.so'(儘管在我的系統中它們似乎是'.a'文件的一部分呢?) – andlabs 2014-12-01 19:32:20

+0

謝謝。我在libgobject-2.0.so庫中找到了g_signal_connect_data()函數。有用。 – vuott 2014-12-01 23:06:11

相關問題