GTK GDK GLIB三者的關係

2021-05-11 11:53:38 字數 1014 閱讀 2361

什麼是glib?

glib庫提供了一系列函式(functions)和定義(definitions),在設計gdk和gtk程式時很有用.它提供了一些標準c函式庫(standard libc)的替代函式,比如malloc,但在其他的系統上使用時有很多問題.

什麼是gtk+?

gtk+是乙個小型而高效的控制項庫,具有motif的外觀和風格.實際上,它比motif看起來好多了,它包含有基本的控制項和一些很複雜的的控制項:例如檔案選擇、控制項和顏色選擇控制項. gtk+提供了一些獨特的特性,(至少,我知道其他的控制項庫不提供他們),例如,按鈕不提供標籤,它包含了乙個子控制項,在很多的時候是乙個標籤,但是,這個子控制項也可以是乙個對映,影象或者任何其他的程式設計師想要的集合.在整個的庫中,你隨處可見這種伸縮性.

gnome的開發基礎結構是圍繞一組函式庫的,所有的內容都是用可移植的ansi c語言寫成的,可以用於所有類unix系統,與圖形相關的函式庫依賴於x window系統。 gnome函式庫是最高層的。gtk+由兩部分組成,gtk和gdk。 gtk層為c語言提供了乙個物件模型,並為ui工具包提供了最基本的widget,它是上層gui派生的基礎。 gtk是依賴於gdk的,gdk是xlib的乙個底層包裝,xlib庫直接與x伺服器對話。除了xlib以外的任何部分都是基於glib的,它是乙個有用的c函式庫,提供了很多實用程式和可移植的功能以及一組容易被c語言使用的容器。

乙個gnome程式使用多個庫組成的層次結構:

gnome庫在最高層,包括幫助例程,類和特殊的widget,並為應用程式提供乙個基礎架構。

第二層是gtk,它是gtk+庫的一部分。這個庫提供了基本的工具包和widget來建立gui應用程式。大多數gui是直接用gtk編寫的。gtk同時為gnome庫提供了乙個功能強大的物件系統。

再下一層是gdk,它簡單的對x函式庫進行了包裝,只有在我們進行特殊繪畫或設定視窗的特殊屬性的時候才會用到它.

最下面一層是glib,它是c的乙個實用程式庫,包括可移植性和一些實用程式功能,以及一些容器類,例如:鍊錶,可變陣列,變長字串,hash(貌似是哈西表),快取,乙個事件迴圈和其他有用的結構

GTK GDK GLIB三者的關係

什麼是gdk?glib庫提供了一系列函式 functions 和定義 definitions 在設計gdk和gtk程式時很有用.它提供了一些標準c函式庫 standard libc 的替代函式,比如malloc,但在其他的系統上使用時有很多問題.什麼是gtk gtk 是乙個小型而高效的控制項庫,具有...

GTK GDK GLIB三者的關係

什麼是gdk?glib庫提供了一系列函式 functions 和定義 definitions 在設計gdk和gtk程式時很有用.它提供了一些標準c函式庫 standard libc 的替代函式,比如malloc,但在其他的系統上使用時有很多問題.什麼是gtk gtk 是乙個小型而高效的控制項庫,具有...

bus,device,driver三者關係

bus,device,driver三者關係 bus 匯流排作為主機和外設的連線通道,有些匯流排是比較規範的,形成了很多協議。如pci,usb,1394,iic等。任何裝置都可以選擇合適的匯流排連線到主機。當然主機也可能就是cpu本身。記憶體也是通過bus連線到主機的,可記憶體使用的匯流排不是外設匯流...