CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 TCP/IP详解 卷2:实现 基本信息 原书名: TCP/IP Illustrated, Vol. 2: The Implementation 原出版社: Addison-Wesley Professional 作者: (美)Gary R.Wright W.Richard Stevens 译者: 陆雪莹 蒋慧 丛书名: 计算机科学丛书 出版社:机械工业出版社 ISBN:7111075676 上架时间:2000-7-1 出版日期:2011 年4月 开本:16开 页码:901 版次:1-19 所属分类:计算机 > 计算机网络 > 网络协议 > TCP/IP 教材 > 研究生/本科/专科教材 > 工学 > 计算机 教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 计算机网络 内容简介    本书完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议 族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点,如多播、长肥管道支持、窗口缩放、时间戳选项以及其他主题等等。读者阅读本书时,应当具备卷1中阐述 的关于TCP/IP的基本知识。本书适用于希望理解TCP/TP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。 作译者 作者: W.Richard Stevens 国际知名的Unix和网络专家,《TCP/IP 详解》(三卷本)作者   W.Richard Stevens(1951-1999),是国际知名的Unix和网络专家;受人尊敬的计算机图书作家;同时他还是广受欢迎的 教师和顾问。Stevens先生1951年生于赞比亚,他的家庭曾多次搬迁,最终定居于南非。早年,他就读于美国弗吉尼亚州的费什本军事学校,后获得密歇根大学学士、亚利桑那大学系统工程硕 士和博士学位。他曾就职于基特峰国家天文台,从事计算机编程;还曾在康涅狄格州纽黑文市的健康系统国际公司任主管计算机服务的副总裁。Stevens先生不幸病逝于1999年9月1日,他的离 去是计算机界的巨大损失。 陆雪莹 陆雪莹,女,1973年1月出生。1994年?月毕业于南京通信工程学院无线通信专业,获工学学士学位。1997年2月于南京通信工程学院计算机软件专业毕业,并获硕士学位。1997年9月至今,任 南京通信工程学院计算机教研室教员,同时于解放军理工大学攻读军事通信学博士学位,讲师职称,主要研究方向:智能化网络管理,计算机网络分布式处理。曾参加国家“863”项目,并参 加编写专业著作2本,翻译专业著作3本,在各级学术刊物上发表论文5篇。 蒋慧 蒋慧,女,1973年2月出生。1995年毕业于南京通信工程学院计算机系,获计算机应用专业工学学土学位。1998年于南京通信工程学院计算机软件专业毕业,并获硕士学位。1998年9月至今, 于解放军理工大学攻读博士学位。自1995年以来,在国内外重要学术刊物和会议上发表8篇论文,其中2篇论文被IEEE国际会议录用。已出版3本有关网络的译作。目前从事软件需求工程、网络 协议验证形式化方法以及函数式语言等方面的研究。 目录 封面 -1 第1章  概述 1 1.1  引言 1 1.2  源代码表示 1 1.2.1  将拥塞窗口设置为1 1 1.2.2  印刷约定 2 1.3  历史 2 1.4  应用编程接口 3 1.5  程序示例 4 1.6  系统调用和库函数 6 1.7  网络实现概述 6 1.8  描述符 7 1.9  mbuf与输出处理 11 1.9.1  包含插口地址结构的mbuf 11 1.9.2  包含数据的mbuf 12 1.9.3  添加IP和UDP首部 13 1.9.4  IP输出 14 1.9.5  以太网输出 14 1.9.6  UDP输出小结 14 1.10  输入处理 15 1.10.1  以太网输入 15 1.10.2  IP输入 15 1.10.3  UDP输入 16 1.10.4  进程输入 17 1.11  网络实现概述(续) 17 1.12  中断级别与并发 18 1.13  源代码组织 20 1.14  测试网络 21 1.15  小结 22 第2章  mbuf:存储器缓存 24 2.1  引言 24
2021-03-03 09:23:11 27.27MB TCP IP详解 实现 详细书签版
1
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 用TCP/IP进行网际互联第三卷:客户-服务器编程与应用(Linux/POSIX套接字版) 基本信息 原书名:Internetworking With TCP/IP Vol Ⅲ:Client-Server Programming And Applications Linux/POSIX Sockets V 作者: (美)DOUGLAS E.COMER DAVID L.STEVENS 译者: 赵刚 林瑶 蒋慧 等 丛书名: 国外计算机科学教材系列 出版社:电子工业出版社 ISBN:7505365908 上架时间:2001-4-23 出版日期:2001 年4月 页码:432 版次:1-3 所属分类:计算机 > 操作系统 > Linux 计算机 > 计算机网络 > 网络协议 > TCP/IP 教材 > 计算机教材 > 本科/研究生 > 计算机专业教材 > 计算机专业课程 > 计算机网络 编辑推荐   本书是一部关于计算机网络的经典教科书。它是目前美国大多数大学里所开设的计算机网络课程的主要参考书。目前国内外能见到的各种有关TCP/IP的书籍,其主要内容均出自本书。本书的特点是:强调原理、概念准确、深入浅出、内容丰富且新颖。全书共分为三卷。第三卷主要讨论应用软件如何使用TCP/IP,重点研究了客户-服务器范例,并考察了分布式程序中的客户和服务器,举例说明了各种设计,讨论了应用网关和隧道技术。第三卷共31章,各章之后附有很多很好的习题。本书可供计算机和通信专业的研究生、高年级本科生作为教科书和学习参考书,也可供从事科研和技术开发的人员参考。    内容简介    本书是一部计算机网络经典性教科书。它是目前美国大多数大学里所开设的计算机网络课程的主要参考书。目前国内外能见到的各种有关TCP/IP的书籍,其主要内容均出自本书。本书的特点是:强调原理,概念准确,深入浅出,内容丰富且新颖。全书共分为三卷。第三卷主要讨论应用软件如何使用TCP/IP,重点研究了客户—服务器范例,并考察了分布式程序中的客户和服务器,举例说明了各种设计,讨论了应用网关和隧道技术。第三卷共31章,各章之后附有很多很好的习题。本书可供计算机和通信专业的研究生、高年级本科生作为教科书和学习参考书,也可供从事科研和技术开发的人员参考。    作译者 作者: Douglas E.Comer    Douglas E.Comer博士从20世纪70年代开始从事互联网的研究和开发工作,他曾是互联网体系结构委员会的成员,该委员会是确定互联网发展标准的权威机构;他也曾任美国计算机网CSTNET技术委员会的主席,该网络是美国早期互联网建设中最重要的网络之一。他现在是美国普渡大学计算机科学系的教授,从事计算机网络和操作系统方面的教学和科研工作。    Douglas Comer博士是TCP/IP协议和因特网的国际公认专家。自20世纪70年代末、80年代初形成因特网以来,他就一直致力于因特网的研究工作,他也是负责指导因特网开发的因特网体系小组(IAB)的成员,还是CSNET技术委员会的主席和CSNET执行委员会的成员。 Comer为一些公司提供网络设计和实现的咨询,还给全世界的技术和非技术人员开TCP/IP和互联网络的专业讲座。他的操作系统Ximu以及TCP/IP协议的实现在他的书中都有介绍,并且应用到了商业产品中。 译者: 蒋慧 蒋慧,女,1973年2月出生。1995年毕业于南京通信工程学院计算机系,获计算机应用专业工学学土学位。1998年于南京通信工程学院计算机软件专业毕业,并获硕士学位。1998年9月至今,于解放军理工大学攻读博士学位。自1995年以来,在国内外重要学术刊物和会议上发表8篇论文,其中2篇论文被IEEE国际会议录用。已出版3本有关网络的译作。目前从事软件需求工程、网络协议验证形式化方法以及函数式语言等方面的研究。 目录 封面 -29 封底 -28 书名 -27 版权 -26 出版说明 -25 关于作者 -22 前言 -21 序言 -20 目录 -18 第1章 引言和概述 1 1.1 使用TCP/IP的因特网应用 1 1.2 为分布式环境设计应用程序 1 1.3 标准和非标准的应用协议 1 1.4 使用标准应用协议的例子 1 1.5 telnet连接的例子 2 1.6 使用TELNET访问其他服务 3 1.7 应用协议和软件的灵活性 4 1.8 从提供者的角度看服务 4 1.9 本教材的其余部分 5 1.10 小结 5 深入研究 5 习题 5 第2章 客户-服务器模型与软件设计 7 2.1 引言 7 2.2 动机 7 2.3 术语和概念 8 2.3.1 客户和服务器 8 2.3.2 特权和复杂性 8 2.3.3 标准和非标准客户软件 9 2.3.4 客户的参数化 9 2.3.5 无连接的和面向无连接的服务器 10 2.3.6 无状态和有状态服务器 10 2.3.7 无状态文件服务器的例子 11 2.3.8 有状态文件服务器的例子 11 2.3.9 标识客户 12 2.3.10 无状态是一个协议问题 13 2.3.11 充当客户的服务器 13 2.4 小结 14 深入研究 14 习题 15 第3章 客户-服务器软件中的并发处理 16 3.1 引言 16 3.2 网络中的并发 16 3.3 服务器中的并发 17 3.4 术语和概念 18 3.4.1 进程概念 18 3.4.2 局部和全局变量的共享 19 3.4.3 过程调用 20 3.5 一个创建并发进程的例子 20 3.5.1 一个顺序执行的C实例 20 3.5.2 程序的开发版本 21 3.5.3 时间分片 22 3.5.4 单线程的进程 23 3.5.5 使各进程分离 23 3.6 执行新的代码 24 3.7 上下文切换和协议软件设计 25 3.8 并发和异步I/O 25 3.9 小结 25 深入研究 26 习题 26 第4章 协议的程序接口 27 4.1 引言 27 4.2 不精确指明的协议软件接口 27 4.2.1 优点与缺点 27 4.3 接口功能 28 4.4 概念性接口的规约 28 4.5 系统调用 28 4.6 网络通信的两种基本方法 29 4.7 LINIX中提供的基本I/O功能 29 4.8 将Linux I/O用于TCP/IP 30 4.9 小结 31 深入研究 31 习题 31 第5章 套接字API 32 5.1 引言 32 5.2 Berkeley套接字 32 5.3 指明一个协议接口 32 5.4 套接字的抽象 33 5.4.1 套接字描述符和文件描述符 33 5.4.2 针对套接字的系统数据结构 34 5.4.3 主动套接字或被动套接字 35 5.5 指明端点地址 35 5.6 类属地址结构 35 5.7 套接字API中的主要系统调用 36 5.7.1 socket调用 37 5.7.2 connect调用 37 5.7.3 send调用 37 5.7.4 recv调用 37 5.7.5 close调用 38 5.7.6 bind调用 38 5.7.7 listen调用 38 5.5.8 accept调用 38 5.7.9 在套接字中使用read和write 38 5.7.10 套接字调用小结 39 5.8 用于整数转换的实用例程 39 5.9 在程序中使用套接字调用 40 5.10 套接字调用的参数所使用的符号常量 40 5.11 小结 41 深入研究 41 习题 41 第6章 客户软件设计中的算法和问题 43 6.1 引言 43 6.2 不是研究细节而是学习算法 43 6.3 客户体系结构 43 6.4 标识服务器的位置 44 6.5 分析地址参数 45 6.6 查找域名 45 6.7 由名字查找某个熟知端口 46 6.8 端口号和网络字节顺序 47 6.9 由名字查找协议 47 6.10 TCP客户算法 48 6.11 分配套接字 48 6.12 选择本地协议端口号 48 6.13 选择本地IP地址中的一个基本问题 49 6.14 将TCP套接字连接到某个服务器 49 6.15 使用TCP与服务器通信 50 6.16 从TCP连接中读取响应 50 6.17 关闭TCP连接 51 6.17.1 对部分关闭的需要 51 6.17.2 部分关闭的操作 51 6.18 UDP客户的编程 51 6.19 连接的和非连接的UDP套接字 52 6.20 对UDP使用connect 52 6.21 使用UDP与服务器通信 52 6.22 关闭使用UDP的套接字 53 6.23 对UDP的部分关闭 53 6.24 关于UDP不可靠性的警告 53 6.25 小结 53 深入研究 54 习题 54 第7章 客户软件举例 55 7.1 引言 55 7.2 小例子的重要性 55 7.3 隐藏细节 55 7.4 针对客户程序的过程库例子 56 7.5 connectTCP的实现 56 7.6 connectUDP的实现 57 7.7 构成连接的过程 57 7.8 使用例子库 60 7.9 DAYTIME服务 60 7.10 针对DAYTIME的TCP客户实现 61 7.11 从TCP连接中进行读 62 7.12 TIME服务 63 7.13 访问TIME服务 63 7.14 精确时间和网络时延 63 7.15 针对TIME服务的UDP客户 64 7.16 ECHO服务 65 7.17 针对ECHO服务的TCP客户 66 7.18 针对ECHO服务的UDP客户 67 7.19 小结 69 深入研究 70 习题 70 第8章 服务器软件设计的算法和问题 71 8.1 引言 71 8.2 概念性的服务器算法 71 8.3 并发服务器和循环服务器 71 8.4 面向连接的和无连接的访问 72 8.5 传输协议的语义 72 8.5.1 TCP语义 72 8.5.2 UDP语义 73 8.6 选择传输协议 73 8.7 面向连接的服务器 73 8.8 无连接的服务器 74 8.9 故障、可靠性和无状态 74 8.10 优化无状态服务器 75 8.11 四种基本类型的服务器 76 8.12 请求处理时间 77 8.13 循环服务器的算法 77 8.14 一种循环的、面向连接的服务器的算法 78 8.15 用INADDR_ANY绑定熟知端口 78 8.16 将套接字置于被动模式 78 8.17 接受连接并使用这些连接 79 8.18 循环的、无连接的服务器的算法 79 8.19 在无连接的服务器中构造应答 79 8.20 并发服务器的算法 80 8.21 主线程和从线程 80 8.22 并发的、无连接的服务器的算法 81 8.23 并发的、面向连接服务器的算法 81 8.24 服务器并发性的实现 82 8.25 把单独的程序作为从进程来使用 82 8.26 使用单线程获得表面上的并发性 83 8.27 各服务器类型所适用的场合 83 8.28 服务器类型小结 84 8.29 重要问题——服务器死锁 85 8.30 其他的实现方法 85 8.31 小结 85 深入研究 86 习题 86 第9章 循环的、无连接服务器(UDP) 87 9.1 引言 87 9.2 创建被动套接字 87 9.3 进程结构 90 9.4 TIME服务器举例 91 9.5 小结 92 深入研究 92 习题 93 第10章 循环的、面向连接的服务器(TCP) 94 10.1 引言 94 10.2 分配被动的TCP套接字 94 10.3 用于DAYTIME服务的服务器 95 10.4 进程结构 95 10.5 DAYTIME服务器举例 95 10.6 关闭连接 98 10.7 连接终止和服务器的脆弱性 98 10.8 小结 98 深入研究 99 习题 99 第11章 并发的、面向连接的服务器(TCP) 100 11.1 引言 100 11.2 并发ECHO 100 11.3 循环与并发实现的比较 100 11.4 进程结构 101 11.5 并发ECHO服务器举例 101 11.6 清除游离(errant)进程 104 11.7 小结 105 深入研究 105 习题 105 第12章 将线程用于并发(TCP) 106 12.1 引言 106 12.2 Linux线程概述 106 12.3 线程的优点 106 12.4 线程的缺点 107 12.5 描述符、延迟和退出 107 12.6 线程退出 108 12.7 线程协调和同步 108 12.7.1 互斥 108 12.7.2 信号量 108 12.7.3 条件变量 109 12.8 使用线程的服务器实例 109 12.9 监控 113 12.10 小结 113 深入研究 113 习题 114 第13章 单线程、并发服务器(TCP) 115 13.1 引言 115 13.2 服务器中的数据驱动处理 115 13.3 用单线程进行数据驱动处理 116 13.4 单线程服务器的线程结构 116 13.5 单线程ECHO服务器举例 117 13.6 小结 119 深入研究 119 习题 120 第14章 多协议服务器(TCP,UDP) 121 14.1 引言 121 14.2 减少服务器数量的动机 121 14.3 多协议服务器的设计 121 14.4 进程结构 122 14.5 多协议DAYTIME服务器的例子 122 14.6 共享代码的概念 125 14.7 并发多协议服务器 125 14.8 小结 126 深入研究 126 习题 126 第15章 多服务服务器(TCP,UDP) 127 15.1 引言 127 15.2 合并服务器 127 15.3 无连接的、多服务服务器的设计 127 15.4 面向连接的、多服务服务器的设计 128 15.5 并发的、面向连接的、多服务服务器 129 15.6 单线程的、多服务服务器的实现 129 15.7 从多服务服务器调用单独的程序 130 15.8 多服务、多协议设计 131 15.9 多服务服务器的例子 131 15.10 静态的和动态的服务器配置 137 15.11 UNIX超级服务器,inetd 138 15.12 inetd服务器的例子 140 15.13 服务器的几种变形清单 141 15.14 小结 141 深入研究 142 习题 142 第16章 服务器并发性的统一、高效管理 143 16.1 引言 143 16.2 在循环设计和并发设计间选择 143 16.3 并发等级 143 16.4 需求驱动的并发 144 16.5 并发的代价 144 16.6 额外开销和时延 144 16.7 小时延可能出麻烦 145 16.8 从线程/进程预分配 146 16.8.1 Linux中的预分配 146 16.8.2 面向连接服务器中的预分配 147 16.8.3 互斥、文件锁定和accept并发调用 147 16.8.4 无连接服务器中的预分配 148 16.8.5 预分配、突发通信量和NFS 149 16.8.6 多处理器上的预分配 149 16.9 延迟的从线程/进程分配 149 16.10 两种技术统一的基础 150 16.11 技术的结合 150 16.12 小结 151 深入研究 151 习题 151 第17章 客户进程中的并发 153 17.1 引言 153 17.2 并发的优点 153 17.3 运用控制的动机 153 17.4 与多个服务器的并发联系 154 17.5 实现并发客户 154 17.6 单线程实现 155 17.7 使用ECHO的并发客户例子 156 17.8 并发客户的执行 160 17.9 例子代码中的并发性 161 17.10 小结 161 习题 162 第18章 运输层和应用层的隧道技术 163 18.1 引言 163 18.2 多协议环境 163 18.3 混合网络技术 164 18.4 动态电路分配 165 18.5 封装和隧道技术 166 18.6 通过IP互联网的隧道技术 166 18.7 客户和服务器之间的应用级隧道技术 166 18.8 隧道技术、封装和电话拨号线 167 18.9 小结 168 深入研究 168 习题 168 第19章 应用级网关 169 19.1 引言 169 19.2 在受约束的环境中的客户和服务器 169 19.2.1 限制访问的现实 169 19.2.2 有限功能的计算机 169 19.2.3 安全性引起的连通性约束 169 19.3 使用应用网关 170 19.4 通过邮件网关互操作 171 19.5 邮件网关的实现 171 19.6 应用网关与隧道技术的比较 172 19.7 应用网关和有限因特网连接 173 19.8 为解决安全问题而使用的应用网关 174 19.9 应用网关和额外跳问题 174 19.10 应用网关举例 176 19.11 一个应用网关的实现 176 19.12 应用网关的代码 178 19.13 网关交换的例子 179 19.14 使用rfed和.forward或slocal文件 179 19.15 通用的应用网关 180 19.16 SLIRP的运行 180 19.17 SLIRP如何处理连接 181 19.18 IP寻址和SLIRP 181 19.19 小结 182 深入研究 182 习题 183 第20章 外部数据表示(XDR) 184 20.1 引言 184 20.2 数据表示 184 20.3 N平方转换问题 185 20.4 网络标准字节顺序 185 20.5 外部数据表示的事实上的标准 186 20.6 XDR数据类型 186 20.7 隐含类型 187 20.8 使用XDR的软件支持 187 20.9 XDR库例程 188 20.10 一次一片地构造报文 188 20.11 XDR库中的转换例程 189 20.12 XDR流、I/O和TCP 190 20.13 记录、记录边界和数据报I/O 190 20.14 小结 191 深入研究 191 习题 191 第21章 远程过程调用(RPC)的概念 193 21.1 引言 193 21.2 远程过程调用模型 193 21.3 构建分布式程序的两种模式 193 21.4 常规过程调用的概念性模型 194 21.5 过程模型的扩充 194 21.6 常规过程调用的执行和返回 195 21.7 分布式系统中的过程模型 196 21.8 客户-服务器和RPC之间的类比 196 21.9 作为程序的分布式计算 197 21.10 Sun Microsystems的远程过程调用定义 197 21.11 远程程序和过程 198 21.12 减少参数的数量 198 21.13 标识远程程序和过程 198 21.14 适应远程程序的多个版本 200 21.15 远程程序中的互斥 200 21.16 通信语义 200 21.17 至少一次语义 201 21.18 RPC重传 201 21.19 将远程程序映射到协议端口 201 21.20 动态端口映射 202 21.21 RPC端口映射器算法 202 21.22 ONC RPC的报文格式 203 21.23 对远程过程进行参数排序 205 21.24 鉴别 205 21.25 RPC报文表示的例子 206 21.26 UNIX鉴别字段的例子 206 21.27 小结 207 深入研究 208 习题 208 第22章 分布式程序的生成(rpcgen的概念) 209 22.1 引言 209 22.2 使用远程过程调用 209 22.3 支持RCP的编程工具 210 22.4 将程序划分成本地过程和远程过程 211 22.5 为RPC增加代码 211 22.6 stub过程 212 22.7 多个远程过程和分派 212 22.8 客户端的stub过程的名字 213 22.9 使用rpcgen生成分布式程序 213 22.10 rpcgen输出和接口过程 214 22.11 rpcgen的输入和输出 215 22.12 使用rpcgen构建客户和服务器 215 22.13 小结 215 深入研究 216 习题 216 第23章 分布式程序的生成(rpcgen的例子) 218 23.1 引言 218 23.2 说明rpcgen的例子 218 23.3 查找字典 218 23.4 分布式程序的八个步骤 219 23.5 步骤1:构建常规应用程序 220 23.6 步骤2:将程序划分成两部分 224 23.7 步骤3:创建rpcgen规约 229 23.8 步骤4:运行rpcgen 230 23.9 rpcgen产生的.h文件 230 23.10 rpcgen产生的XDR转换文件 232 23.11 rpcgen产生的客户代码 233 23.12 rpcgen产生的服务器代码 235 23.13 步骤5:编写stub接口过程 238 23.13.1 客户端接口例程 238 23.13.2 服务器端接口例程 240 23.14 步骤6:编译和链接客户程序 241 23.15 步骤7:编译和链接服务器程序 244 23.16 步骤8:启动服务器和执行客户 246 23.17 使用make实用程序 247 23.18 小结 249 深入研究 249 习题 249 第24章 网络文件系统(NFS)的概念 251 24.1 引言 251 24.2 远程文件存取和传送 251 24.3 对远程文件的操作 252 24.4 异构计算机之间的文件存取 252 24.5 无状态服务器 252 24.6 NFS和UNIX的文件语义 252 24.7 UNIX文件系统的回顾 253 24.7.1 基本定义 253 24.7.2 无记录界限的字节序列 253 24.7.3 文件拥有者和组标识符 253 24.7.4 保护和存取 253 24.7.5 打开-读-写-关闭范例 254 24.7.6 数据传送 255 24.7.7 搜索目录权限 255 24.7.8 随机存取 255 24.7.9 搜索超过文件的结束 256 24.7.10 文件位置和并发存取 256 24.7.11 在并发存取时的“写(write)”语义 257 24.7.12 文件名和路径 257 24.7.13 索引节点(inode):存储在文件中的信息 257 24.7.14 stat操作 259 24.7.15 文件命名机制 259 24.7.16 文件系统mount 260 24.7.17 UNIX文件名解析 261 24.7.18 符号链接 262 24.8 NFS下的文件 262 24.9 NFS的文件类型 262 24.10 NFS文件模式 263 24.11 NFS文件属性 263 24.12 NFS客户和服务器 264 24.13 NFS客户操作 265 24.14 NFS客户与UNIX系统 266 24.15 NFS安装 266 24.16 文件句柄 267 24.17 句柄取代路径名 267 24.18 无状态服务器的文件定位 268 24.19 对目录的操作 269 24.20 无状态地读目录 269 24.21 NFS服务器中的多个分层结构 269 24.22 安装(mount)协议 270 24.23 NFS的传输协议 270 24.24 小结 270 深入研究 271 习题 271 第25章 网络文件系统协议(NFS,Mount) 272 25.1 引言 272 25.2 用RPC定义协议 272 25.3 用数据结构和过程定义协议 272 25.4 NFS常数、类型和数据声明 273 25.4.1 NFS常数 273 25.4.2 NFS的typedef声明 274 25.4.3 NFS数据结构 274 25.5 NFS过程 277 25.6 NFS操作的语义 277 25.6.1 NFSPROC3_NULL(过程0) 277 25.6.2 NFSPROC3_GETATTR(过程1) 278 25.6.3 NFSPROC3_SETATTR(过程2) 278 25.6.4 NFSPROC3_LOOKUP(过程3) 278 25.6.5 NFSPROC3_ACCESS(过程4) 278 25.6.6 NFSPROC3_READLINK(过程5) 278 25.6.7 NFSPROC3_READ(过程6) 278 25.6.8 NFSPROC3_WRITE(过程7) 278 25.6.9 NFSPROC3_CREATE(过程8) 278 25.6.10 NFSPROC3_MKDIR(过程9) 278 25.6.11 NFSPROC3_SYMLINK(过程10) 279 25.6.12 NFSPROC3_MKNOD(过程11) 279 25.6.13 NFSPROC3_REMOVE(过程12) 279 25.6.14 NFSPROC3_RMDIR(过程13) 279 25.6.15 NFSPROC3_RENAME(过程14) 279 25.6.16 NFSPROC3_LINK(过程15) 279 25.6.17 NFSPROC3_READDIR(过程16) 279 25.6.18 NFSPROC3_READDIRPLUS(过程17) 280 25.6.19 NFSPROC3_FSSTAT(过程18) 280 25.6.20 NFSPROC3_FSINO(过程19) 280 25.6.21 NFSPROC3_PATHCONF(过程20) 280 25.6.22 NFSPROC3_COMMIT(过程21) 280 25.7 安装协议 280 25.7.1 安装协议的常数定义 280 25.7.2 安装协议的类型定义 281 25.7.3 安装数据结构 281 25.8 安装协议中的过程 282 25.9 安装操作的语义 282 25.9.1 MOUNTPROC3_NULL(过程0) 282 25.9.2 MOUNTPROC3_MNT(过程1) 282 25.9.3 MOUNTPROC3_DUMP(过程2) 283 25.9.4 MOUNTPROC3_UMNT(过程3) 283 25.9.5 MOUNTPROC3_UMNTALL(过程4) 283 25.9.6 MOUNTPROC3_EXPORT(过程5) 283 25.10 NFS和安装鉴别 283 25.11 文件加锁 284 25.12 NFS第3版与第4版之间的变化 284 25.13 小结 285 深入研究 285 习题 285 第26章 TELNET客户(程序结构) 287 26.1 引言 287 26.2 概述 287 26.2.1 用户终端 287 26.2.2 命令和控制信息 287 26.2.3 终端、窗口和文件 288 26.2.4 对并发性的需要 288 26.2.5 TELNET客户的过程模型 288 26.3 TELNET客户算法 289 26.4 Linux中的终端I/O 289 26.4.1 控制设备驱动器 291 26.5 建立终端模式 291 26.6 用于保存状态的全局变量 292 26.7 在退出之前恢复终端模式 293 26.8 客户挂起与恢复 294 26.9 有限状态机的规约 295 26.10 在TELNET数据流中嵌入命令 296 26.11 选项协商 296 26.12 请求/提供的对称性 297 26.13 TELNET字符定义 297 26.14 针对来自服务器数据的有限状态机 298 26.15 在各种状态之间转移 299 26.16 有限状态机的实现 300 26.17 压缩的有限状态机表示 300 26.18 在运行时维持压缩表示 302 26.19 压缩表示的实现 302 26.20 构造有限状态机转移矩阵 304 26.21 套接字输出有限状态机 305 26.22 套接字输出有限状态机的相关定义 306 26.23 选项子协商有限状态机 307 26.24 选项子协商有限状态机的相关定义 308 26.25 有限状态机初始化 309 26.26 TELNET客户的参数 310 26.27 TELNET客户的核心 311 26.28 主有限状态机的实现 314 26.29 小结 315 深入研究 315 习题 316 第27章 TELNET客户(实现细节) 317 27.1 引言 317 27.2 有限状态机动作过程 317 27.3 记录选项请求的类型 317 27.4 完成空操作 318 27.5 对回显选项的WILL/WONT做出响应 318 27.6 对未被支持的选项的WILL/WONT做出响应 320 27.7 对no go-ahead选项的WILL/WONT做出响应 320 27.8 生成用于二进制传输的DO/DONT 321 27.9 对未被支持的选项的DO/DONT做出响应 322 27.10 对传输二进制选项的DO/DONT做出响应 323 27.11 对终端类型选项的DO/DONT做出响应 324 27.12 选项子协商 326 27.13 发送终端类型信息 326 27.14 终止子协商 328 27.15 向服务器发送字符 328 27.16 显示在用户终端上出现的传入数据 329 27.17 使用termcap控制用户终端 332 27.18 将数据块写到服务器 333 27.19 与客户进程交互 334 27.20 对非法命令做出响应 335 27.21 脚本描述文件 335 27.22 脚本描述的实现 336 27.23 初始化脚本描述 336 27.24 收集脚本文件名的字符 337 27.25 打开脚本文件 338 27.26 终止脚本描述 339 27.27 打印状态信息 340 27.28 小结 341 深入研究 341 习题 342 第28章 流式音频和视频传输(RTP概念和设计) 343 28.1 引言 343 28.2 流式传输服务 343 28.3 实时交付 343 28.4 抖动的协议补偿 343 28.5 重传、丢失和恢复 344 28.6 实时传输协议 344 28.7 流的转换和混合 345 28.8 迟延回放和抖动缓存 346 28.9 RTP控制协议(RTCP) 346 28.10 多种流同步 347 28.11 RTP传输和多对多传输 348 28.12 会话、流、协议端口和分用 349 28.13 编码的基本方法 350 28.14 RTP软件的概念性组织 350 28.15 进程/线程结构 351 28.16 API的语义 352 28.17 抖动缓存的设计和重新缓存 253 28.18 事件处理 354 28.19 回放异常及时间戳的复杂性 354 28.20 实时库例子的大小 354 28.21 MP3播放器的例子 355 28.22 小结 355 深入研究 356 习题 356 第29章 流式音频和视频传输(RTP实现示例) 357 29.1 引言 357 29.2 集成实现 357 29.3 程序结构 357 29.4 RTP定义 358 29.5 时间值的处理 361 29.6 RTP序列空间的处理 362 29.7 RTP分组队列的处理 363 29.8 RTP输入处理 365 29.9 为RTCP保存统计信息 367 29.10 RTP初始化 368 29.11 RTCP的定义 372 29.12 接收RTCP发送方的报告 373 29.13 产生RTCP接收方的报告 374 29.14 创建RTCP的首部 376 29.15 RTCP时延的计算 376 29.16 RTCP Bye(再见)报文的产生 377 29.17 集成实现的大小 378 29.18 小结 378 深入研究 378 习题 379 第30章 Linux服务器中的实用技巧和技术 380 30.1 引言 380 30.2 后台操作 380 30.3 编写在后台运行的服务器 381 30.4 打开描述符和继承 382 30.5 对服务器编程以关闭所继承的描述符 382 30.6 来自控制TTY的信号 382 30.7 对服务器编程以改变它的控制TTY 382 30.8 转移到一个安全的和已知的目录 383 30.9 对服务器编程以改变目录 383 30.10 Linux umask 383 30.11 对服务器编程以设置其umask 384 30.12 进程组 384 30.13 对服务器编程以设置其进程组 384 30.14 标准I/O描述符 384 30.15 对服务器编程以打开标准描述符 385 30.16 服务器互斥 385 30.17 对服务器编程以避免多个副本 385 30.18 记录服务器的进程ID 386 30.19 对服务器编程以记录其进程ID 386 30.20 等待一个子进程退出 386 30.21 对服务器编程以等待每个子进程退出 387 30.22 外来信号 387 30.23 对服务器编程以忽略外来信号 387 30.24 使用系统日志设施 387 30.24.1 产生日志报文 387 30.24.2 间接方式和标准差错的优点 388 30.24.3 I/O重定向的限制 388 30.24.4 客户-服务器的解决方案 388 30.24.5 syslog机制 389 30.24.6 syslog的报文类 389 30.24.7 syslog的设施 389 30.24.8 syslog的优先级 389 30.24.9 使用syslog 390 30.24.10 syslog配置文件举例 390 30.25 小结 391 深入研究 392 习题 392 第31章 客户-服务器系统中的死锁和资源缺乏 393 31.1 引言 393 31.2 死锁的定义 393 31.3 死锁检测的难度 393 31.4 避免死锁 394 31.5 客户和服务器间的死锁 394 31.6 在单个交互中避免死锁 395 31.7 一组客户和一个服务器之间的资源缺乏 395 31.8 忙连接和资源缺乏 395 31.9 避免阻塞的操作 396 31.10 进程、连接和其他限制 396 31.11 客户和服务器的循环 397 31.12 用文档确认依赖性 397 31.13 小结 398 习题 398 附录1 系统调用与套接字使用的库例程 400 附录2 Linux文件和套接字描述符的操作 422 参考文献 425 附录页 前言    Douglas E.Comer博士的系列著作——《用TCP/IP进行网际互联》是一套令人瞩目的丛书。能向开放源码(open source)读者介绍该书的第三卷,对我来说实在是荣幸之至。    开放源码和TCP/IP的历史是紧密相连的没有网络把你和合作者连接起来,就不能进行协作!而且,最早一批开放源码软件就有TCP/IP协议的实现。我记得在20世纪80年代初,“开放源码”还不像现在那样受媒体青睐,理解网络体系结构和实现的研究者屈指可数,而Douglas就是其中的佼佼者——他是一项广泛研究计划的负责人,全线出击,对当时遇到的很多问题提出挑战。    记得在20世纪90年代初,我们已经看到将技术应用到大工程领域的巨大趋势,这些领域渴望着知识和解决方案。那时,为公司构造基于互联网的环境,对工程师来说还是一个巨大的挑战。于是,Douglas便开始教导他们,让他们能够掌握下层网络的复杂性,给他们提供辛勤耕耘得来的经验教训。    21世纪来临了,新一代的设计者正在为因特网编写分布式应用程序。当前,我们听到许多激动人心的因特网应用,如 napster、gnutella以及infrasearcch。但奇怪的是,现在的开发人员很少有人牢固掌握网络工程原理——坦率地说,他们缺乏对基础的理解,这种缺乏不可避免地造成了应用程序的适应能力不强或者干脆就不能工作。 ’    正因为如此,Doug与David L.Stevens合著的第三卷:客户—服务器编程与应用才与今天的因特网息息相关。这本书教给我们如何设计和构建客户—服务器应用程序,而且更重要的是,它还教给我们如何理解每种设计决策中所蕴涵的利弊得失。    我希望读者能够像业界前辈一样,从Comer博士的智慧中获益。    Marshall T.Rose    Theorist,Implementor, and Agent Provocateur    Petaluma. California    序言    Linux操作系统声名正旺,作为服务器系统,它对联网界尤其重要。这本使用Linux的新版第三卷是为那些渴望了解如何创建联网应用的程序员撰写的。大致说来,本书考察这样的问题,“应用软件如何使用TCP/IP协议通过因特网进行通信?”。本书重点研究了客户—服务器范例,并考察了在分布式程序中客户和服务器这两部分所用的算法。本卷举例说明了每种设计,并讨论了包括应用层网关和隧道等技术。另外,本卷还重温了几个标准应用协议,并用它们来说明一些算法和实现技术。    尽管本卷可以单独阅读和使用,但它实际是和另外两卷共同构成了一套丛书。丛书第一卷考虑的问题是:“什么是TCP/IP互联网?”;第二卷考察的问题是:“TCP/IP软件是如何工作的?”,它给出了更多的细节,考察了工作代码,比第一卷探讨得更深入。因此,虽然程序员可以只通过第三卷学习创建网络应用,但学习其他各卷可以更好地理解下层技术。    第三卷的这个新版本包含了最新的技术,如,有一章解释了Linux程序如何利用POSIX线程设施创建并发服务器;关于NFS的章节讨论了NFS的第三版,这一版将为Linux界采用。此外,还有部分章节解释了slirp等程序所蕴涵的概念,这种程序能通过拨号电话连接访问因特网,而不要求每台计算机有一个惟一的IP地址。    还有两章显得特别及时,它们集中讨论了流式概念以及相关的技术,这些技术用于通过因特网发送音频和视频数据。第28章描述了实时协议(RTP)、编码、抖动缓存等基本概念。第29章展示了用于接收和播放MP3音频的RTP实现。    本书代码可在线获得。要通过万维网得到一个副本,可在以下网址的联网书籍清单中查找第三卷:    http://www.cs.purdue.edu/homes/comer/netbooks.html    要通过FTP访问代码,使用以下网址:    ftp://ftp.cs.purdue.edu/pub/comer/TCPIP—vol3.1inux.dist.tar.Z    本书前几章介绍了客户—服务器模型,以及应用程序用于访问TCP/IP协议软件的套接字(socket)接口。此外,还描述了并发进程和用于创建进程的操作系统函数。随后的几章介绍了客户和服务器设计。    本书阐明了各式各样可能的设计并不是没有规则的。实际上,这些设计都遵循了一种模式。在考虑了并行性和传输的选择后,就可以理解这一观点。例如,有一章讨论了使用面向连接传输(如TCP)的非并发服务器设计,而另一章讨论了相似的设计,但它使用无连接传输(如UDP)。    我们描述了每个设计如何适应于各种可能的实现,但是,并没有试图开发一种客户—服务器交互的抽象“理论”。我们只是强调实用的设计原则,以及对程序员很重要的技术。每种技术在某些情况下都有其优点,并且每种技术都已用于正在工作的软件中。我们相信,理解这些设计之间的概念联系,将有助于读者理解每种方法的优缺点,并更容易在它们之间进行选择。    本书包含了多个例子程序,他们展现了各种设计实际上是如何进行的。大多数例子实现了标准的TCP/IP应用协议。在每一种情况下,我们都试图选择一个应用协议,使它可表达一种设计思路而又不太难理解。因此,虽然很少有令人激动的例子程序,但这里的每一个例子都说明了一个重要的概念。在第三卷的这个版本中,所有的例子程序都使用Linux套接字机制(即套接字API);本书还有两个其他版本,他们含有相同的例子,只不过使用了微软的windows Sockets和AT&T的TLI接口。    后几章集中讨论中间件,讨论了远程过程调用的概念,并描述它是怎样被用于构造分布式程序的。这些章将远程过程调用技术与客户—服务器模型相联系,并说明如何使用软件从远程过程调用描述生成出客户和服务器程序。有关TELNET的章节展现了细枝末节如何在一个实际工作的程序中占据支配地位,以及即使是实现一个简单的、面向字符的协议,其代码如何会变得复杂。本部分最后两章是关于流式传输协议的。    本书很大部分的重点在并发处理。编写过并发程序的学生可能熟悉我们所描述的许多概念,因为这些概念适用于所有的并发程序,而不仅仅是网络应用。没编写过并发程序的学生可能会觉得这些概念很难。    本书适于作为向高年级学生教授“套接字编程”,或向低年级研究生介绍分布式计算的一个学期的课程。由于本书重点是如何使用互联网,而不是互联网是如何工作的,因此学生几乎不需要太多的网络背景知识就能理解这些内容。只要教师按合适的进度循序渐进,本科生课程中不会有特别的概念令人感到太难。介绍操作系统概念或并发编程实际经验的基础课程,可提供最佳背景材料。    学生只有亲手使用教材后,才会欣赏它。因此,任何课程都应安排编程实践,强迫学生将其想法运用到实际程序中。大学本科生可通过反复设计其他的应用协议来学习基本概念。研究生则应构建更为复杂的分布式程序,这些程序强调一些细微的技术(如第16章中的并发管理技术和第18章和第19章中的互连技术)。    在此要感谢许多人的帮助。Purdue大学因特网研究小组的成员们给本书原稿提供了许多技术信息和建议。Michael Evangelista校对了本书并编写了RTP代码。Gustavo Rodriguez—Rivera阅读了本书的许多章节,并做了很多实验测试细节,还编辑了附录1。Dennis Brylow对本书许多章节提出了建议。Christine Comer进行了修订并改进了行文和一致性。    Douglas E.Comer    David L. Stevens
1
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Visual Studio程序员箴言 原书名: Microsoft Visual Studio Tips 原出版社: Microsoft Press 作者: (美)Sara Ford 译者: 谢俊 出版社:人民邮电出版社 ISBN:9787115215727 上架时间:2009-12-31 出版日期:2010 年1月 开本:16开 页码:205 版次:1-1 所属分类:计算机 > 软件与程序设计 > .NET > Visual Studio.NET 内容简介   visual studio是微软公司推出的、目前最流行的windows平台应用程序开发环境。本书介绍了各种visual studio使用技巧,全书共7章,依次介绍了编辑器、查找功能、环境布局、设计 工具以及解决方案、其他项目与调试方面的技巧。    本书的作者是一位经验丰富的visual studio测试工程师,她将自己平日博客上的visual studio使用技巧归纳成书,并通过图例让读者对技巧的作用了如指掌。无论是对visual studio 初学者还是经验丰富的用户来说,了解、掌握并在实际工作中使用这些技巧都能在开发中达到事半功倍的效果。 作译者 作者: Sara Ford   Sara Ford 作为Visual Studio核心团队负责测试的软件设计工程师,Sara Ford分析了Visual Studio核心环境中几乎所有的功能。她从2007年开始在自己的博客上发表”Visual Studio 每日一贴”系列文章,结果大受欢迎,并促成了本书的诞生。Sara计划将本书的稿费以奖学金的形式捐赠给她的家乡——曾被卡特琳娜飓风摧毁的密西西比州的WaVeland。 目录 封面 -30 序言 -25 致谢 -23 关于作者 -22 前言 -20 目录 -14 第1章 编辑器的基础知识 1 1.1 基本编辑 1 1.1.1 文本编辑 1 技巧1.1 避免意外复制一个空白行 1 技巧1.2 通过剪贴板环来循环粘贴不同内容 2 技巧1.3 使用Ctrl+Enter组合键在上方插入一行,使用Ctrl+Shift+Enter组合键在下方插入一行 3 技巧1.4 使用Ctrl+W组合键选择当前单词 3 技巧1.5 使用Ctrl+Delete组合键删除下一个单词,使用Ctrl+Backspace组合键删除前一个单词 3 技巧1.6 使用Ctrl+L组合键剪切当前行,使用Ctrl+Shift+L组合键删除当前行 4 技巧1.7 删除一行开头的水平空白 4 技巧1.8 将代码或文本拖动到新位置 5 技巧1.9 右键拖动代码可将代码移动或复制到某处 6 技巧1.10 在编辑器中调换字符、单词和行的顺序 6 技巧1.11 在编辑器中使用键盘快捷键来改变单词的大小写 7 1.1.2 撤销/重复 7 技巧1.12 使用标准工具栏上的撤销堆栈 8 1.2 滚动与导航 8 1.2.1 滚动 8 技巧1.13 使用鼠标滚轮在各个方向上滚动 8 技巧1.14 在不滚动的情况下跳到编辑器中当前视图的顶部或底部 8 技巧1.15 隐藏编辑器中的垂直和水平滚动条 10 1.2.2 在编辑器内和编辑器之间进行导航 10 技巧1.16 通过返回标记在编辑器中进行向前和向后定位 10 技巧1.17 使用撤销操作将光标跳回到上一个插入点 11 技巧1.18 通过键盘访问导航栏 12 技巧1.19 拆分窗口和新建窗口 12 技巧1.20 使用F6在编辑器内的拆分窗格之间跳转 13 技巧1.21 在编辑器内启用URL定位 14 技巧1.22 使用Ctrl+G时不弹出“转到行”对话框 14 1.2.3 自动换行和虚空格 15 技巧1.23 启用自动换行 15 技巧1.24 启用虚空格 15 1.3 编辑器字体和颜色 16 1.3.1 字体大小 16 技巧1.25 增大编辑器中工具提示的字体大小 16 技巧1.26 将宏绑定到键盘快捷键(或者说,如何快速增大或减小文本编辑器的字体大小) 17 1.3.2 字体和颜色 17 技巧1.27 将编辑器背景改为黑色 17 技巧1.28 “工具”→“选项”→“环境”→“字体和颜色”中“自动”和“默认值”之间的差别 18 技巧1.29 改变书签的颜色 20 1.3.3 可见提示 21
2019-12-21 19:44:47 19.6MB Visual Studio 程序员 箴言
1
CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 ARM Cortex-A8嵌入式系统开发与实践——WinCE与Android平台 基本信息 作者: 倪旭翔    计春雷    出版社:中国水利水电出版社 ISBN:9787508481777 上架时间:2011-2-12 出版日期:2011 年1月 开本:16开 页码:315 版次:1-1 内容简介    本书以飞思卡尔应用处理器i.mx51为例,全面系统地讲述基于新一代高性能arm cortex-a8内核应用处理器以及wince 6.0和android 系统的软硬件系统开发指导。具体内容包括:以i.mx51应用处理器为例介绍基于cortex-a8内核的高性能应用处理器典型的功能模块,开发系统的主要硬件功能模块的结构与工作原理,典型硬件系统与典型应用;wince 6.0在cortex-a8系统上的移植与开发,系统地讲述windows embedded ce 6.0的体系结构、系统安装、环境设置,在i.mx51开发系统下的软件包的编译和调试,主要功能模块驱动程序的详细描述与开发指导,以及典型的嵌入式系统wince 6.0 应用开发例程;android 2.2在cortex-a8系统的移植与开发,系统讲述android体系结构、开发环境与编译,android bsp的移植与开发(包含bootloader、内核移植、hal实现等),以及android应用程序开发指导。    本书可作为工程技术人员学习最新的cortex-a8高端嵌入式系统软硬件开发技术的入门教材,掌握wince 6.0以及android系统在高端应用处理器系统上的实战演练,也可作为工程技术人员在实际工作中针对智能手持设备(平板电脑、智能手机)、高端嵌入式设备、汽车信息娱乐设备等系统开发的参考书。 目录 封面 -16 封底 -15 扉页 -14 版权 -13 序一 -12 序二 -11 前言 -10 ARM产品背景和ARM处理器系列介绍 -9 目录 -2 第1章 基于Cortex-A8的Freescale i.MX51体系构架 1 1.1 i.MX51系统框图与功能简介 1 1.1.1 i.MX51应用处理器的应用 2 1.1.2 i.MX51应用处理器CPU的结构 2 1.1.3 i.MX51应用处理器的多媒体能力 2 1.1.4 i.MX51应用处理器的物理性能及扩展能力 2 1.1.5 i.MX51应用处理器的特点 3 1.2 ARM Cortex-A8内核(CPU、Cache、NEON、VFP和ETM) 4 1.3 i.MX51应用处理器中的IPU与VPU单元 5 1.3.1 图像处理单元IPU 5 1.3.2 视频处理单元VPU 6 1.4 i.MX51应用处理器的图形处理(GPU)功能 6 1.4.1 3D 图形处理单元(3D GPU) 7 1.4.2 2D 图形处理单元(2D GPU) 7 1.5 i.MX51应用处理器的输入输出接口 8 1.6 i.MX51应用处理器的时钟、电源与JTAG口 9 1.7 i.MX51应用处理器的典型系统 12 1.8 参考文献 13 第2章 基于i.MX51的系统硬件介绍 14 2.1 内容概述 14 2.2 硬件系统的总体框图和功能组成 15 2.3 i.MX51应用处理器的启动模式设置 17 2.4 存储器部分(DDR2、SPI NOR、NAND Flash) 18 2.4.1 DDR2 SDRAM 18 2.4.2 NAND Flash 21 2.4.3 SPI NOR 22 2.5 电源管理 22 2.5.1 MC13892的电源输出 22 2.5.2 i.MX51与MC13892之间的信号接口控制 24 2.5.3 电池充放电电路 24 2.5.4 电阻触摸屏接口电路 26 2.6 USB接口 26 2.6.1 USB的定义 26 2.6.2 USB标准简介 27 2.6.3 USB-OTG设计 27 2.6.4 USB-HS设计 29 2.6.5 USB扩展接口 29 2.7 DVI显示接口 32 2.8 MMC/SD卡接口 33 2.9 UART调试串口和JTAG调试口 36 2.10 Ethernet网口 38 2.11 Audio CODEC与音频输入输出 39 2.12 Camera接口 42 2.13 键盘功能 43 2.14 扩展接口 43 2.14.1 Bluetooth和WIFI扩展接口 43
2013-02-08 00:00:00 18.57MB ARM 嵌入式 WinCE Android
1
本版本是高清版,是第1版第18次印刷,是书签最全最好的版本。 基本信息 原书名: The C++ Programming Language, Special Edition 原出版社: Addison Wesley 作者: (美)Bjarne Stroustrup 译者: 裘宗燕 丛书名: 计算机科学丛书 出版社:机械工业出版社 ISBN:7111102029 上架时间:2002-7-12 出版日期:2002 年7月 页码:936 版次:1-1 内容简介    本书介绍了标准c++以及由c++所支持的关键性编程技术和设计技术。标准c++较以前的版本功能更强大,其中许多新的语言特性,如名字空间、异常、模板、运行时类型声明等使得新技术得以直接应用。本书围绕语言及库功能来组织,内容涉及c++的主要特征及标准库,并通过系统软件领域中的实例解释说明一些关键性的概念与技术。 本书的目的就是帮助读者了解c++是如何支持编程技术的,使读者能从中获得新的理解,从而成为一名优秀的编程人员和设计人员。适合做高校面向对象编程课程的教科书,也可作为c++爱好者的参考书。 [center] [a href=http://www.china-pub.com/main/sale/c++tb.htm target=_blank]c++之父bjarne stroustrup博士专访[/a]    [a href="http://www.is.pku.edu.cn/~qzy/cpp.htm" target="_blank"]《c++程序设计语言》程序的更正和更新[/a]    [a href="http://www.china-pub.com/temporary/list/cooperate/zipdownload/zg.zip" target="_blank"]本书忠告[/a] [/center] 作译者 作者: Bjarne Stroustrup Bjarne Stroustrup现任AT&T实验室的大型程序设计研究部的主管。1990年,Bjarne荣获《财富》杂志评选的“美国12位最年轻的科学家”称号。1993年,由于在C++领域的重大贡献,Bjarne获得了ACM该年度的 Grace Murray Hopper大奖并成为ACM院士(成立于1947年的ACM协会是历史最悠久、目前世界上最大的教育和科学计算协会,成为ACM院士是个人成就的里程碑)。1995年,BYTE杂志颁予他“近20年来计算机工业最具影响力的20人”的称号。 [同作者作品] C++ 程序设计语言(特别版)(英文影印版) C++语言的设计和演化[按需印刷] C++程序设计语言(特别版) 译者: 裘宗燕 知名译者,翻译严谨,喜与读者交流。   裘宗燕教授是北京大学数学学院信息科学系的,关心的主要学术领域包括计算机软件理论、程序设计方法学、程序设计语言和符号计算。已出版多部著作和译著,包括《程序设计语言基础》(译著,1990),《Mathematica数学软件系统的应用与程序设计》(1994),《从问题到程序——程序设计与C语言引论》(1999) [同作者作品] 计算机基础教程(上下)(文科类)(裘宗燕等) 数据结构——C++与面向对象的途径 数据结构--C++与面向对象的途径(修订版) 目录 出版者的话 专家指导委员会 中文版序 译者序 序 第2版序 第1版序 导 论 第1章 致读者 3 1.1 本书的结构 3 1.1.1 例子和参考 4 1.1.2 练习 5 1.1.3 有关实现的注记 5 1.2 学习c++ 6 1.3 c++ 的设计 7 1.3.1 效率和结构 8 1.3.2 哲学注记 9 1.4 历史注记 9 1.5 c++ 的使用 11 1.6 c和c++ 12 .1.6.1 给c程序员的建议 13 1.6.2 给c++程序员的建议 13 1.7 有关在c++里编程的思考 14 1.8 忠告 15 1.9 参考文献 16 第2章 c++概览 19 2.1 为什么是c++ 19 2.2 程序设计范型 19 2.3 过程式程序设计 20 2.3.1 变量和算术 21 2.3.2 检测和循环 22 2.3.3 指针和数组 23 2.4 模块程序设计 23 2.4.1 分别编译 24 2.4.2 异常处理 25 2.5 数据抽象 26 2.5.1 定义类型的模块 27 2.5.2 用户定义类型 28 2.5.3 具体类型 29 2.5.4 抽象类型 31 2.5.5 虚函数 33 2.6 面向对象的程序设计 33 2.6.1 具体类型的问题 33 2.6.2
2012-04-23 00:00:00 51.87MB C++ 程序设计语言 特别版 详细书签版
1