商家名称 | 信用等级 | 购买信息 | 订购本书 |
![]() |
Windows系统编程(原书第4版)(作者哈特) | ![]() |
|
![]() |
Windows系统编程(原书第4版)(作者哈特) | ![]() |
本书描述使用Microsoft Windows应用程序编程接口(Application Programming Ingterface,API)进行应用程序开发的方法,专注于文件系统、进程和线程管理、进程间通信、网络编程以及同步等核心系统服务。本书的示例都来自现实场景,其中有许多是基于作者在实践中所开发的真实应用程序。
Microsoft的32位和64位操作系统家族(目前广泛使用的版本包括Windows 7、Vista、XP、Server 2003、Server 2008以及CE)支持Win32/Win64 API(也就是Windows API)。更早一些的Windows家族成员有Windows 2000、NT、Me、98和95,虽然这些系统已经过时,但本书中的许多主题仍旧适合于这些老系统。
Windows API是应用程序开发的重要因素,经常代替POSIX API(UNIX和Linux支持它)作为桌面、服务器和嵌入式系统应用程序开发的API,不仅现在如此,将来也是如此。许多程序员,无论经验如何,都想快速学习Windows API,而本书正是为他们所写的。
目标和方法
本书的目标是:在不给读者过多不必要的细节的情况下尽可能快地讲解Windows是什么以及如何在实际中使用它。本书不是一本参考指南,而是讲解那些最重要的函数的核心特性,并且展示如何在实际编程中将它们一起使用。有了这些知识,读者就可以通过广泛的Microsoft参考文档来探究更多细节和更高级的选项,根据需求或兴趣探究更为隐秘的功能。这种方法会让Windows API的学习更为容易,而且让开发Windows程序成为一种享受,即使偶尔也会有挫折。这种热情将时不时地显露出来。当然,Windows并不一定比其他操作系统API更好,但它的确有许多引人入胜的特性,而且随着每个新版本的推出都得到极大的改进。
许多Windows书籍用大量篇幅讲述进程、虚拟内存、进程间通信和抢占式调度,却没有展示在实际情况下如何使用它们。有UNIX、Linux、IBM MVS或其他操作系统经验的程序员对这些概念并不陌生,他们会急于了解如何在Windows中实现它们。大多数Windows书籍也会在用户界面编程这一重要主题上占用大量篇幅。本书有意避开用户界面的问题,而仅讨论简单的基于字符的控制台I/O,以便专注于重要的核心功能。
插图:
示例的设计旨在:
·演示Windows函数常见的、有代表性的以及有用的应用。
·与在程序开发、咨询和培训中所遇到的真实编程情况相联系。一些客户以及参加我的课程的人基于这些示例开发他们自己的系统。在提供咨询时,我经常碰到与示例中所用的代码相似的代码,有几次还碰到从前一版本的书中直接取来或经过修改的代码(读者可随意这样做,如果能在文档中致谢我将不胜感激)。此代码经常作为COM、.NET或c++对象的一部分。由于时间和空间的限制,这些示例是“真实世界”的示例并且解决“真实世界”的问题。
·强调函数的实际行为以及与实际应用程序的交互,这与读者在阅读了文档之后所想到的并不总是一致。本书中的正文和示例都专注于函数间的交互,而不是函数本身。
·增长与扩张,既以自然的方式对前面的解决方案添加新功能,又探究可选的其他实现技术。
·实现UNIX/Unux命令,比如lstouch、chmod和sort,这样既以熟悉的上下文展示Windows函数,又创建一组有用的工具。对相同命令的不同实现也让我们可以很容易地对高级Windows特性所具有的性能优势进行比较。附录c包含性能测试结果。
前面章节中的示例通常较短,后面章节中的示例会适当长一些。
每章末尾的习题提供可研究的另一种设计、主题,以及额外的、超出本书范围但却是重要的功能。有些习题很容易,而有一些则颇具挑战性。我们经常给出清楚标注的有瑕疵的解决方案,因为解决错误是提高技能的好方法。
所有的示例都在Windows 7、Vista、Server 2008、XP以及更早的系统下调试、测试过。测试包括32位和64位两个版本。所有程序也都在单处理器和多处理器系统下测试过,最多用到16个处理器。客,P/服务器应用程序的测试使用了多个客户同时与服务器交互。但是,我们并不对程序的正确性、完整性或者针对任何目的的适用性提供保证。毫无疑问,即使是最简单的示例也包含瑕疵或者在某些情况下会出错,这是几乎所有软件的共性。但是,如果能将任何与程序瑕疵有关的信息提供给我,我将甚为感激;如果能有这些瑕疵的修改建议则更为理想,我会将这些信息张贴在本书的Web站点上,以便让所有人受益。
相关阅读:
更多图书资讯可访问读书人图书频道:http://www.reAder8.cn/book/