目录 9 19.2.4使用Wεb浏览器作为客户运行服务器例子程序 ……………(213)》 19.3-个简单的Web服务器程序和Wb客户程序……………………(214) 19.3.1实现-个简单的Web眼务器程序……………………(214) 19.3.2实现一个简单的Web客户程序……………(216) 19.3.3测试这个Wcb服务器程序和Web客户程序………(216) 19.3.4使用Ne1 scape Navigator作为客户运行这个简单Web服务器程序…(217) 19.4小结………(218) 第20章UDP:用户数据协议…………(219) 20.】一个发送UDP数据的例子程序…(219) 20,2一个接收UDP数据的例子程序+…” (220)》 20,3运行这两个UDP例子程序… (221) 204小结…(222) 第21章使用多播套接☐……… (223) 21.】把Lnux配置成支持多播P………(223) 21.2儿个使用多播IP的例子程序4 (224) 21.2.】使用多播P广播数据的例子程序…,(225) 21.2.2监听多播P广播的例子程序… (226) 21.2.3运行这两个多播P例子程序 …(227) 21.3小结…小……4 …(228) 第22章非阻塞套接口1/0……… …+……4…(229) | 22.1使用非阻塞套接口1/0的例子程序…………… (229) 22.2运行这个非阻塞套接口1/0的例子程序…+… (232) 22.3小结…… (232) 第23章用于TCP套接口的一个C十十类库… ……(233) 23.1C十十客户/服务器类的设计…………” (233) 23.1.1理解客户程序的设计…… (233) 23.1.2理解服务器设计…………(235) 23.2C十十客户/服务器类的实现……… (236) 23.2.1实现客户程序… **4…236) 23.2.2实现服务器……………。 *5*…*(237 23.3测试这个客户/服务器类… (238 23.4小结…… 第24章使用库… ………(241) 24.1比较]ibc5和c6… *4*44…4”(241) 24.2东操作门其……… (242) 24.2.1理解nm命令… 24.22理解ar命令… 4**:(242)】
10 目录 24.2.3理解1dd命令4…: (243) 24.2.4理解ldconfig (243) 24.2.5环境变址和配置文件…… 24.3编写并使用静态库………… *4t4*a44t…(244) 24.4编写并使用共享库*…………, 24.5使用动态加载的共享对象… (251) 24.5,1理解dl接口… …〔251) 24.5.2加载共享对象…… ……(251) 24.5.3使州共享对象……… ……”(252) 24.5.4检杏错误…… ……………(252) 24.5.5卸载共享对象……………(252) 24.5.6使用dl接I………… (252) 24.6小结………… (254) 第25章设备驱动程序…………(255) 25.】驱动程序类塑… (255) 25.1.】静态链接的内核设备驱动程序…………… (255 25.1.2可加载的内核模块*…… (255) 25.1.3共草库…… 44*…(256》 25.1.4元特权用户模式程序………………(256)》 25.1,5特权用户棋式程序…………(256) 25,1.6守护进程……… ………(257) 25.1.7字符设备与块设备…… (257) 25.2演示用的硬件… (257) 25.2.1步进电机工作原理… (258) 25.2.2标准或双问并口……… (260) 25,3并发配置 (262) 25.4低层揣口I/04……*………… (262) 25.5引发使用设备塑动程序的中断… (264) 25.6使用D九MA访问内存,… (265) 25.7一个简单的用户模式测试啊动程序…… (265) 25.8调试内核级驱动程序………… n”(266) 25.9下半部与上半部………………… (267) 25,10创建个内核驳动程序……(267) 25,10】查看源代码…………………,…… (267) 25.10.2编泽驱动得序………………… (291) 25.10.3使用内核驱动程序 …“*……(291) 25.10.4未来发展方向 …………(292) 25.11其他信息米源 (293) 25.12小结……4(293) 第4部分用户界面编程 第26章底层终端控制
目录 11 26.1终端接门………………………(294) 26.2挖制终端… 26.2.】属性控制函数 ……(296) 26.2.2速度控制函数…………………*………(297) 26.2.3行挖制函数… (297) 26.2.4进得控制听数………… (298) 26.3使用终端接口… (299) 26,4玫变终端摸式…*…+……… (301) 26.5使用terminfo (303) 26.5.】terminfe0能力 (303) 26.5.2使用t0 rminfc0… (304) 26.5.3发挥terminfo能力… (307) 266小结………………… (310) 第27章使用ncurses操纵屏幕 (311) 27.1nCur58简史…t*…4… (311) 27.2使用ncurses编译程序… *(312) 27.3调试ncur北s陛序… (3]2) 27.4关于窗】…… 4………(312) 27,4.1 ncurses的窗口设计…… ……(313)》 27.4.2 ncurses的函数命名约定…… 27.5初始化与终止………………… *…(315】 27.5.1nC划rses初始化结构…………… (315) 27.5.2 ncurses终止… …(315) 27.5.3说明ncurses的初始化与终止 ………(316 27.6输入与输出…………… ………(318 27.6.1输出例程………… 4*…444…4…(318】 27.6.2输入例程… ………(326) 27.7颜色例程…… (329) 27.8窃口管理………… …4*(331) 27.9其他实用函数…… …(331) 27.10小结…… 0***(334) 第28章X Window编程 (335) 28.1X的概念………(335) 28.2 Xlib API……………………………(336) 28.2.1 XopenDisplay …(337) 28.2.2 XcreateSimplewindow Xcrcate window..........................................(337) 28.2.3映射窗1和撒消映射窗口… …*…(338 28.2.撒消窃口…… (338 28.2.5事件处理……*………………+…………… (338) 28.2.6初始化图形设备上下文和字体…… (340)
12 目求 28.2.7在X窗中绘图………**………*………(340) 28.2.8一个XIib的示例程序…。 ………(31) 28.3X工其包API… …(344) 28.3.】准备使用X工現包…+…*…………………(344) 28.3.2使用X工具包设置窗口部件参数… ………(345) 28.4小结4………n…*…*…,(346) 第29章使用Athena和M0tif的窗口部件………(347) 29.1使用Atha的物口部件………(347) 29.1.1 Athen8的标签窗门部件 (347) 29.1.2 Athena的命令按钮窗口部件……(348) 29.1.3 Athena的列表窗口部件… 29.1.4 Athena的文本窗口部件*………(352) 29.l.5 Athena的简单莱单窗口部件, (355) 292使用M0tif的窗口部件……… (357) 29.2.1 Motif的标签窗口部件 ………(358) 29.2.2M0if的列表窗口部件……… (359) 29.2.3M0if的文本窗口部件4… (360) 29.3编写一个定制的Athena窗口部件……(363) 29.3.1使用fetch-rl.c文件… 4……(363) 29.3.2使用URLh文件……(365) 29.3.3使用URLP.b文件……… (366) 29.3.4使用URL.C文件… (367) 29.3.5测试URL商口部件………… (369) 29.4在C十十程序中同时使用Athena和Motif… (370) 29.5使用封装Athena窗门部件的一个C十十类库………… (371) 29.5.1 Component类…… (372) 29.5.2 PanedWindow类… (373) 29.5.31abel类… (375) 29.5.4Butt0n类…… 4”(376) 29.5.5Text类 (377) 296小结……………… (379) 第30章使用GTK进行GUI编程 (380) 30.1GTK简介……* (381) 30.1.】处理GTK中的年件…………… (382) 30.1.2使用GTK的示例程序…… (383) 30,1.3其他GTK窗1部件…………(385) 30.1.4GTK容器窗口部件……………… (383) 30.2用于显示XML文件的GTK程序…. (386) 30.2.】XML简介… (387) 30.2.2 James Clark的XML分折器Expat… *……(388)
日录 13 30,2.3GTK的ML显示程序实现……………(389) 30.2.4运行GTK的XML显示程序……(394) 30.3使用NU1b0o窗口部件的GUI程序…… (394) 30.3.1 Noteb0ok窗I门部件示例程序的实现…………(394) 30.3.2实现绘图窗口部件 (396) 30.3.3运行GTK Notebook窗口部件示例程序 4*(398) 第31章使用Qt进行GU1编程… …(400) 31.上通过重载QWidget类方法处理事件……… (401) 3】.】.1 QWidget类概述+**+…………………… (401) 31.1.2实现Draw Widget类… ………4(403) 311.3测试Draw Widget………(405) 31.2使用Qt楫和信号处理事件…… (405) 3l.2.1派生Statel.CDWidge1类 (1G6) 31.2.2使月信号和槽……… (408) 31.2.3运行信号/槽示例程序………… (410) 31.3小结… (410) 第32章使用Jav阳进行GU编程 (412) 32.1Java简介… 32.1.1Jva是-一种面向对象的语言……(12) 32.1.2在Jav阳中使用包………… (415) 32.】.3使用ava读写文件……… (416) 32.1.4在J8v阳中使用多个线程…… 4……(4]9) 32.1.5在Java中进行套接日编程…………(420) 32.2使用J8va编写个聊天引擎……(424) 32.3AWT简介……… *……(428) 32.4使州AWT编写一个聊天程序…… (430) 325JFC简介…… ………(434) 32.6使用JFC编写-…个聊天程序… 32.7使刑本机Jav编译器…… (440) 32.8小结………… 第33章0 penCL/Mesa图形编程 (441) 33.】OpenGI..是-一个图形硬件的软件接日………… (441) 33.20 rbits示例程序…………… (442) 33.2.1为OpenGL图形创建窗口以及对OpenGGI初始化……(442) 33.2.2使用GLUT创建简单的三维物体………(143) 33.2.3在维空间中使用X-Y-Z坐标放置物体……(444 33.2.4沿着X-,Y-.Z-中的任何轴或所有轴旋转物体…………(445) 33.2.行启川材料属性………… (A46 33.2.6启用深度值测试…………(生47)