从今天开始读这本《LINUX应用程序开发指南:使用GTK GNOME库》, 边读边记录其要点,也希望这个读书笔记能对其他人有所帮助.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
第1章 Linux软件开发概述
KDE(K Destop Environment) - [Qt] VS. Gnome - [Gtk ]
自由软件社区的一批计算机专家开始了 KDE项目(K Desktop Environment, K桌面环境),目的是提供一个开放源代码的图形用户接口和开发环境.该项目取得了极大的成功, K D E成为许多 L i n u x发布版本的首选桌面环境. G N U / L i n u x项目因此而得到蓬勃发展.但是,KDE是基于Troll Technologies公司的Qt库的.Qt库是一个跨平台的 C 类库,可以用于多种Unix、Linux、Win32等操作系统.Qt并不是遵从 GPL或LGPL协议的软件包.它的许可条件是:如果使用它的免费版本开发应用程序或程序库,则所开发的软件 开放源代码;如果使用它的商用版本,则可以用以开发私有的商用软件.另外, Qt库是属于 Troll公司的产品,一旦Troll公司破产,或者被收购,自由软件事业将受到严重打击. 1 9 9 7年由墨西哥国立自治大学的 Miguel de Icaza 领导的项目组开始了 G n o m e开发计划.Gnome是GNU Network Object Model Environment(GNU,网络对象模型环境)的缩写.该计划的最初目的是创建一种基于应用程序对象的架构,类似于微软公司的 OLE和 COM技术.然而,随着项目的进展,项目的范围也迅速地扩大;项目开发过程中有数百名程序员加入进来,编 写了成千上万行的源代码.该项目进展很快, 1998年发布了Gnome 1.0.目前的最新版本是于1 9 9 9年1 0月发布的 October Gnome.现在, G n o m e已成为一个强劲的 G U I应用程序开发框架,并且可以在任何一种 U n i x系统下运行. G n o m e使用的图形库是 G t k — 最初为了编写 G I M P而创建的一套构件库,它是基于 L G P L创建的,可以用它来开发开放源代码的自由软件,也可以开发不开放源代码的商用软件. G n o m e的界面与 K D E的界面是类似的( G n o m e的目的之一就是创建一套类似 K D E的桌面环境),熟悉 K D E的用户无需学习就能够使用 G n o m e. 以上几个原因,Gnome已经成为大多数 Linux发布版本的首选桌面环境. G n o m e项目的成功, 1 9 9 8年11月Q t库的开发者 Tr o l l公司宣布修改许可证协议, Q t库将成为自由软件.但是获取 Q t库的许可证很不方便,况且 G n o m e的进展也很不错,因而,只要有可能,应该避免使用 Qt库以及KDE. 从用户的角度看, G n o m e是一个集成桌面环境和应用程序的套件.从程序员的角度看,它是一个应用程序开发框架 (由数目众多的实用函数库组成 ).即使用户不运行 Gnome桌面环境,用G n o m e编写的应用程序也可以正常运行,但是这些应用程序是可以很好地和 G n o m e桌面环境集成的. G n o m e桌面环境包含文件管理器,它用于任务切换、启动程序以及放置其他程序的“面板” “控制中心” (包括配置系统的程序以及一些小东西 )等.这些程序在易用的图形界 、面背后隐藏了传统的 UNIX Shell.G n o m e的开发结构使开发一致的、易用的和可互相操作的应用程序成为可能.
第2章 Gtk /Gnome开发简介
命令行选项和参数处理
nome_init_with_popt_table(PACKAGE, VERSION, argc, argv, options, 0, &pctx);
这个函数把指定在options里的所有命令行选项解析并放入options结构指定的变量里面,例如,
static int greet_mode = FALSE;
.................................................
struct poptOption options[] = { { "greet", ‘g’, POPT_ARG_NONE, &greet_mode, 0, N_("Say hello to specific people listed on the command line"), NULL }
|