<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    曙海教育集團論壇Linux專區Linux應用開發 → Linux開發GUI應用程序概述


      共有9630人關注過本帖樹形打印

    主題:Linux開發GUI應用程序概述

    美女呀,離線,留言給我吧!
    wangxinxin
      1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發短信
    等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
    Linux開發GUI應用程序概述  發帖心情 Post By:2010-11-23 13:10:40

    Linux歷史簡介
    1991年,芬蘭大學生Linus Torvalds編寫了一個小的操作系統內核,這就是Linux的前身,Linus Torvalds也由此成為了Linux之父。Linus Torvalds將Linux系統的源代碼在Internet上公布,使Linux的發展受到了眾多計算機高手的鼎力相助,Linux從而不斷地增加新的 特性,不斷地提高穩定性。現在,Linux已經成為一個非常流行的操作系統。
    Linux是遵從GPL協議。也就是說,只要遵從GPL協議,就可以免費得到它的軟件和源代碼,并對它進行自由地修改。但對一般用戶來說,對Linux的源代碼進行編譯和安裝是難度很高的工作。
    所以,一些公司介入Linux的業務,它們將Linux操作系統及一些重要的應用程序打包,并提供較方便的安裝界面。這些公司所提供的產品一般稱為Linux的發布版本。
    目前比較著名的Linux發布版本有以下幾種:
    RedHat—最著名的Linux服務提供商。
    SlackWare—歷史比較悠久的發行版本。
    SUSE—在歐洲知名度較大。
    TurboLinux—在亞洲用戶較多。該公司漢化做得很出色。
    Debain—完全由Linux社區的計算機高手維護的發布版本。
    XteamLinux—北京沖浪平臺公司推出中國第一套漢化發布版本。
    BluePoint—內核漢化技術比較引人注目。
    紅旗Linux—中科院軟件所和北大方正推出的發布版本。
    Linux的優點
    Linux有眾多的優點,下面列出主要的幾個:
    * Linux是一個多任務、多線程、多用戶的操作系統。
    * Linux性能穩定,功能強大,可以與商用操作系統相提并論。
    * Linux可以適應很多的平臺。它可以在Intel公司的x86計算機及其兼容機、Alpha計算機,以及蘋果等計算機上運行。 Linux還可以在許多嵌入式設備上運行。
    * Linux之上的應用程序正在逐漸增多。大多數為UNIX開發的應用程序都能在Linux上運行。
    Linux還可以在仿真軟件的幫助下運行許多DOS應用程序和Windows應用程序。
    * 公開源代碼是Linux最大的優越性,只要遵從GPL協議,就可以自由地對Linux進行修改和剪裁,以適應個人需要。
    Linux的桌面環境
    Linux有一套簡便易學的圖形用戶接口(GUI),用戶使用鼠標就可以完成大多數工作。在Linux中,GUI由窗口系統,窗口管理器,工具包和風格 等幾個部分組成。窗口系統用于組織顯示屏上的圖形輸出,窗口管理器用于對窗口的操作如最小化等,工具包是用于編程界面的庫,風格是應用程序的用戶界面。
    現在,Linux下的桌面環境主要包括KDE和Gnome兩種。
    KDE(K Desktop Environment)桌面環境目的是提供一個開放源代碼的圖形用戶接口和開發環境。
    KDE一度成為許多Linux發布版本的首選桌面環境。但是,KDE是基于QT庫的。Qt最初并不遵從GPL協議。所以,將KDE建立在QT之上是一件危險的事,它將依賴于開發QT庫的公司。
    所以,后來的Linux發行版本中加入了Gnome主面環境。Gnome是GNU Network Object Model Environment(GNU,網絡對象模型環境)的縮寫。Gnome的發展很快,已成為一個強勁的GUI應用程序開發框架,可以在任何一種UNIX系 統下運行。
    Gnome使用的圖形庫是Gtk+構件庫,它是基于LGPL協議的。Gnome的界面與KDE的界面類似,熟悉KDE的用戶無需學習就能夠使用Gnome。所以,Gnome現在已經成為大多數Linux發布版本的首選桌面環境。
    Gnome是一個集成桌面環境,也是一個應用程序開發框架,由很多的函數庫組成。即使用戶不運行Gnome桌面環境,用Gnome編寫的應用程序也可運 行,但是這些應用程序是可以很好地和Gnome桌面環境集成的。Gnome的開發結構使我們可以開發一致和易用的應用程序。
    開發所使用的庫
    Gtk+(GIMP ToolKit,GIMP工具包) Gtk+最初用于開發GIMP,是一個用于創造圖形用戶接口的圖形庫。Gtk+是基于LGPL授權的,因此可以用Gtk+開發開放源碼軟件的自由軟件或商業的非自由的軟件。
    Gtk+是在Gdk(GIMP Drawing Kit,GIMP繪圖包)的基礎上創建的。Gdk是對Xlib函數的包裝。我們一般用GTK代表軟件包和共享庫,用Gtk+代表GTK的圖形構件集。
    Gtk+圖形庫使用一些稱為“構件”的對象來創建GUI應用程序。它提供了窗口、按鈕、框架、列表框、組合框、樹、狀態條等很多構件,可以構造豐富的用戶界面。
    在Gtk+圖形庫構件基礎上,又開發了一些新構件,這些構件都是Gtk+構件庫的補充,它們提供了許多Gtk+構件沒有的功能。一般把這些構件稱為Gnome構件。使用Gnome構件可以使開發界面一致的應用程序變得更加容易。
    Gnome的應用程序開發結構核心是一套庫,是由C語言編寫的,對很多語言都提供了GnomeAPI接口,包括Ada、Scheme、Python、Perl、Tom、Eiffel、Dylan等。
    Gnome的開發架構包含以下一些內容:
    1. 非Gnome庫
    Gnome繼承了自由軟件一些函數庫。其中一些庫Gnome應用程序開發架構的一部分,但是不屬于Gnome庫。可以在Gnome環境中使用這些庫函數。主要有以下幾種:
    Glib庫 —Glib是Gnome的基礎,它是一個C工具庫,提供了創建和操作常用數據結構的實用函數。
    Gtk+庫—Gtk+(GIMPToolkit的縮寫),是在Gnome應用程序中使用的GUI工具包。Gnome在基本Gtk+構件集合的基礎上添加了許多其他構件。
    ORBit庫—ORBit是一個用C開發的CORBA2.2ORB。和其他ORB相比,它短小精悍,但速度更快,同時還支持C語言映射。ORBit是以一整套庫函數的方式實現的。
    Imlib庫 Imlib(圖片庫)提供一些例程,其中包括加載、存儲、顯示,以及定繪制各種流行的圖像格式(包括GIF、JPEG、PNG以及TIFF)的函數。
    2. Gnome庫
    Libgnome庫—Libgnome是一些與圖形用戶接口無關的函數集合,Gnome應用程序可以調用其中的函數。
    Libgnomeui庫—Libgnomeui包含了與GUI相關的Gnome代碼。它由為增強和擴展Gtk+功能而設計的構件組成。libgnomeui主要包含:
    (1)GnomeApp構件一般用來為應用程序創建主窗口。
    (2)GnomeCanvas構件用來編寫定制構件。
    (3)Gnome內置的pixmap用于創建和使用對話框的例程。
    Libgnomeui中還有幾種其他構件,如GnomeEntry、GnomeFilePicker等。
    Libgnorba庫—libgnorba提供與CORBA相關的實用程序。
    3.其他庫
    這些庫一般使用在Gnome應用程序中,但它不屬于Gnome-libs:
    Gnome-print庫—Gnome-print提供一個虛擬輸出設備,一段代碼能輸出到一個打印預覽構件或PostScript文件,還可以輸出到其他打印機格式。
    Gnome-xml庫—Gnome-xml能按照樹狀結構分析XML,也能按照XML輸出樹狀結構。
    Guile庫 Guile是Scheme編程語言在一個庫中的實現,它使任何應用程序都能帶有一個嵌入式的Sheme解釋器。
    Bonobo庫—Bonobo是一種對象嵌入式結構,類似于Microsoft的OLE。
    編程語言和編程工具
    在Linux下的常用開發語言是C語言,Linux上的很多應用程序就是用C語言寫的。當然,也可以使用其他語言。因為Gtk+和Gnome是用C語言編寫的,所以在開發Linux下的GUI程序時使用C語言是非常方便的。Gtk+也提供與許多其他語言的接口。
    一般的Linux發布版本中都提供了C編譯器gcc或egcs。使用gcc或egcs可以編譯C和C++源代碼。各種C編譯器都要使用一些C語言實用函 數。為了保證程序的可移植性,gcc沒有使用通用的C函數庫,而是使用一種稱為glib的函數庫。glib也是Gtk+的基礎。它包含一些標準函數的替代 函數和基本數據結構的實現。
    還有許多使用工具可以提高Linux下的編程效率,如gdb是優秀的C語言調試器,有非常豐富的調試指令。automake和autoconf用于由源代碼結構配置編譯選項,生成編譯所需的Makefile文件。
    在Linux下開發GUI應用程序,像Windows平臺上的可視化快速應用程序開發工具還很少。有幾種正在開發的RAD(Rapid Application Development)工具,比如我們以后將要介紹的Glade—一種GUI生成器,可以快速生成創建界面的C源程序。

    支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    Linux開發GUI應用程序概述








    簽名
    主站蜘蛛池模板: 这里只有精品视频| 久久精品成人免费观看| 练瑜伽的时候进入| 国产精品一区二区久久国产| 两个男gay的做污污的过程| 日韩在线观看网址| 免费能直接在线观看黄的视频免费欧洲毛片**老妇女 | 天堂mv在线看中文字幕| 久久婷婷五月综合国产尤物app| 欧美性猛交xxxx乱大交蜜桃| 午夜精品久久久久久久久| 青娱乐在线视频观看| 精品视频一区二区| 国产精品一区二区三区免费| 一级一黄在线观看视频免费| 日本三级黄视频| 亚洲欧洲精品国产区| 男人插女人的网站| 国产做受视频激情播放| 18到20岁女人一级毛片| 在线免费看黄网站| 中文字幕三级电影| 日本一二三区视频| 亚洲免费二区三区| 黄色网站免费在线观看| 韩国一区二区视频| 男人黄女人色视频在线观看| 欧美牲交a欧美牲交aⅴ免费真| 欧美黑人粗大xxxxbbbb| 最近更新2019中文字幕国语4| 日本免费看片在线播放| 在线观看www日本免费网站| 巨大欧美黑人xxxxbbbb| 成人毛片手机版免费看| 日韩成人精品日本亚洲| 欧美另类黑人巨大videos| 日韩小视频网站| 日韩一区二三区国产好的精华液| 日本伊人色综合网| 欧美日韩国产精品| 深夜在线观看网站|