第一图书网

Windows 程序设计:第5版

CharlesPetzold 北京大学出版社
出版时间:

2003-11-1  

出版社:

北京大学出版社  

作者:

CharlesPetzold  

页数:

1346  

译者:

北京博彦科技发展有限公司  

Tag标签:

无  

内容概要

  Windows程序设计(第5版)对于Windows程序员来说,“从 Chares 的(Window程序设计)一书中寻找答案。”几乎成了一句至理名言。而(Windows程序设计》第5版是专门为在Microsoft Windows 98、Microsoft Windows NT 4和 Windows NT 5下编程的开发人员编写的。内容博大精深,并有大量的源代码来帮助读者掌握Windows编程。《Windows程序设计(第5版)(套装上下册)》覆盖了Windows编程的方方面面,是广大编程人员和学习Windows编程的读者必备的一本好书。

作者简介

  Charles Petzold 从1984年开始编写个人计算机程序,从1985年开始编写Micrososft Win-dows程序。他在《Microsoft Systems Journal》1986年12月号上发表了第一篇关于Windows程序设计的杂志论文。从1986年到1995年,他为《PC Magazine》撰写“Environments”专栏,给读者介绍了Windows和OS/2程序设计的许多方面。  《Windows程序设计》由微软出版社在1988年首次出版,后来被认为是这方面最好的导论性读本。在1994年5月,Petzold作为仅有的七个人之一(并且是唯一的作家)被《Windows Magezine》和Microsoft公司授予Windows Pioneer奖,以表彰他对Microsoft Windows的成功做出的贡献。  在1999年秋天,微软出版社将出版Charles Petzold 面向普通读者的第一本书。暂时命名为《Code:The Hidden Language of Computer Hardware and Software》,这本书专门介绍数字信息的本质以及计算机处理数字信息的方式。

书籍目录

对《Windows 程序设计》的评论作者的话作者简介上册第一部分 基础知识第一章 开始1.1 Windows环境1.1.1 Windows简史1.1.2 Windows方面1.1.3 动态链接1.2 Windows编程选项1.2.1 API和内存模式1.2.2 语言选项1.2.3 编程环埃1.2.4 API文档1.3 编写一个Windows程序1.3.1 字符模式(Character-Mode)模型1.3.2 Windows等价程序1.3.3 头文件1.3.4 程序入四点1.3.5 Message Box函数1.3.6 编译、链接和运行第二章 Unicode简介2.1 字符集简史2.1.1 美国标准2.1.2 国际方面2.1.3 扩展ASCII2.1.4 汉字节字符集2.1.5 Unicode解决方案2.2 宽字符和C2.2.1 Char数据类型2.1.2 宽字符2.2.3 宽字符库函数2.2.4 维护单一源代码2.3 宽字符和Windows2.3.1 Windows头文件类型2.3.2 Windows函数调用2.3.3 Windows的字符串函数2.3.4 在Windows中使用Print2.3.5 格式化消息框2.3.6 本书与国际化第三章 窗口和消息3.1 自己的窗口3.1.1 总体结构3.1.2 HELLOWIN程序3.1.3 总体考虑3.1.4 注册窗口类3.1.5 创建窗口3.1.6 显示窗口3.1.7 消息循环3.1.8 窗口过程3.1.9 处理消息3.1.10 播放声音文件3.1.11 WM-PAINT消息3.1.12 WM-destroy消息3.2 Windows编程的难点3.2.1 别调用我,我会调用您3.2.2 进队消息与不过队消息3.2.3 行动迅速第四章 输出文本……下册


图书封面

图书标签Tags

广告

下载页面


Windows 程序设计:第5版 PDF格式下载



  大一下学期,从五一节开始读的。三本书,当时还在网上买的盗版,质量奇差。可惜我只把第一本书的大半部分读完了,相当于全部的1/4,后来暑假去学Java了。不过确实受益匪浅,事件驱动的编程,UI的设计,计时器等等。很可惜当年没有把这本书看完。


  经典,内容很全.需要先学会C语言才能看懂这本书.
  对于函数的用法要熟练.win32api就是C语言函数.


  看了有一周的windows程序设计了,今天总结总结.
  其实这本书我2003年就买了,也大概看了看,可惜当时技术掌握的不够牢固,很多地方根本看不懂,也没有认真去啃一啃,随便就放下了.
  现在又过了5年了,再看起来,感觉果然不一样的很.
  看看windows API设计的,再比较比较Java语言的设计,很明显能看出高下之别.
  Windows API设计的时候,是基于C语言来进行设计的.其中大量用到的是结构,而无论是结构也好,函数也好,指针也好,这些东西都是可以直接基于汇编语言进行转换的.
  结构就是一段内存,每个字段占据其中固定位置的内存空间;
  函数就是一段内存,函数指针指向内存的开始点,调用函数时,通过堆栈压入变量,调用结束后弹出堆栈;
  指针就是内存地址,传递指针就是传递内存地址.
  所以在windows API的设计中,没有类的概念,没有对象的概念,纯粹是结构定义,函数定义,指针传递的概念,在这个概念的基础上可以搭建出宏伟的建筑出来.
  操作系统负责底层的具体工作,对外公开的就是所有的标准API,你可以通过任何语言来访问和调用这些API.
  
  而Java语言呢,从一开始设计就是独立于操作系统的.独立于操作系统没有关系,但不好的就是他是完全基于对象的一个语言,这样即使两个对象的定义内部结构是一样的,仅仅因为他们的名字不同,就不能直接传递和复制,而必须手工编码进行转换,这个实在是太繁琐了.
  java语言在设计的时候,没有把结构这个元素考虑进来,为了所谓的方便性,直接用Object取而代之,结果就是在程序设计实现时,有很多低效的代码转换来转换去.
  
  也许Java应该好好研究研究windos API的设计思路,再改进改进.
  
  windows的全部API,不过几千个,可现在Java的标准类库,广类就不下一千个,这还不考虑这些类之间复杂的继承关系,以及重载带来的理解上的困难和混乱.
  
  windows API是没有继承这个概念的.我的问题是,既然完全不使用这个概念,仍然可以设计出类似Windows这样复杂的系统出来,或者说能提供如此复杂的功能调用API出来,那么我们自己设计系统的时候,提供给外部那么复杂的调用接口,是否真的有那个必要呢?
  
  很多系统设计的如此复杂,以致于难以维护和升级,这些问题不仅仅是水平问题,更重要的恐怕是思路问题。如果沿用java提供的标准方式,恐怕设计出来的系统就难免走在复杂的老路上。
  
  既然windows的API设计的都如此简单,我们自己又有多少理由来把系统设计那么复杂呢?
  
  暂时没有标准答案,继续思考学习中。


兄弟,你这本书能转让给我看一下吗?
我的MSN:soonfly@hotmail.com
诚心想读这套书
电子版看着太费力了,而且不方便标注


楼主将Windows API和java 类库比较是不恰当的。你把MFC和java类库比较更合适。
底层的设计简单是需要的。但如果楼主认为“简单”的就是最好的选择,那么汇编语言,或者01代码应该比Windows API更加简单,但为什么越来越高级,抽象层次更高的语言涌现出来呢?
答案就是:使用的舒适性和平滑的学习曲线。
虽然使用很简单的API构建了window这个复杂的系统,但是构建的过程是复杂的,而这个过程是可以反复重用的,那么就把这个过程的某些部分形式化为固定的代码类库,程序员可以在更高的抽象层次上工作,达到舒适和易学习的目的。
文中所说的java没有考虑“结构”这个因素,我理解楼主的意思,应该是没有指针吧,因为类天生就是融合了结构的。


对于楼主的有些看法,我更愿意支持楼上的观点!
不过这段话写得很不错啊:
“ 结构就是一段内存,每个字段占据其中固定位置的内存空间;
  函数就是一段内存,函数指针指向内存的开始点,调用函数时,通过 堆栈压入变量,调用结束后弹出堆栈;
  指针就是内存地址,传递指针就是传递内存地址.”


你如果把win32api和xnix的系统api进行对比,你会觉得win32api好恐怖,好复杂 ~v~


楼上,win32 API包含大量的GDI函数,xnix的对应物都放在X11里了
你知道的,X11的API更恐怖。


根据楼主的观点,微软根本就不应该搞什么 .net 和 c#


楼主大概还在学校读书吧。没出来混过就是见解独特。


我也曾经有过这样的疑问:)
有了c为什么还要那么复杂的c++;
有了api为什么还要有mfc;
有了dll为什么还需要那么复杂的com.;
有了com为什么又有.net;
我的理解是,他们都是为了提供更高的抽象,让你在更高的层次解决问题
靠!


相关图书