数学建模社区-数学中国

标题: windows类书的学习心得以及相关书籍下载 [打印本页]

作者: ╃無名草╃    时间: 2004-10-2 11:03
标题: windows类书的学习心得以及相关书籍下载
笔者从事软件开发多年,其中有两年多的时间一直是与Windows底层打交道,书架里基本上都是Jeffrey Richter,Charles Petzold,侯捷老师以及潘爱民老师的书,这些书一直陪伴着我,并给我的编程工作带来了很大的帮助,希望我的推荐对你也有帮助。 ! }! _+ x' l! x! ?" }% n# K& H  w
[ 查看本指南所提及的书籍 ]
; G5 G% A5 t' F" d, ]/ x6 f" ]  现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千,很多陌生的出版社,很多陌生的作者,很多陌生的译者,书名也是越来越夸张,什么××天精通××,精通××编程, ××宝典等等,书的印刷质量真的很好,纸张的质量也是今非昔比啊,但书的内容好象却是越来越让人失望,也许是我老了,我的思想我的观念已脱离现实社会,也许是外面的世界变化得太快,我编程数月,出去一走,路已不是原来的路……回家看着书架上的旧书发呆,听着李克勤的旧欢如梦,才发现自已原来太喜欢怀旧. % A8 i$ i# x- n; a* H2 ?. {6 Q
- U5 B2 {/ M8 W8 }8 S( _, t
笔者从事软件开发多年,其中有两年多的时间一直是与Windows底层打交道,涉及到驱动程序,嵌入式OS,Windows应用程序(如GUI,图形图像技术,多线程,组件技术等等)等方面的开发,写了很多很的源代码……也许我的阅读面过于狭小,书架里基本上都是Jeffrey Richter,Charles Petzold,侯捷老师以及潘爱民老师的书,这些书一直陪伴着我,并给我的编程工作带来了很大的帮助,希望我的推荐对你也有帮助。
& y: I. E1 P* |
1 v4 S- {" Y6 k8 D9 {: D5 ~Windows编程类9 C) W# u* \( y& {- G

  {0 T; ^0 W% P( V0 F. u, C+ k2 aWindows 程序设计(第5版)(上、下册) ) v9 b# S! J# w* \! D
原书名: Programming Windows (Fifth Edition) " Y/ M3 P, ?; n" M  K9 K
原出版社:Microsoft Press
1 J$ c" F4 U" Y6 l; |3 k5 f作者:(美)Charles Petzold4 G5 y% i7 I3 H( d
译者:北京博彦科技发展有限责任公司9 e' r7 X. C3 C5 |- K% h1 O) \+ I
出版社:北京大学出版社
/ u% P1 I( |) L; |5 c' ], k" P出版日期:2001-03% c% p' g) o  k  L6 Z" ^! ^3 P9 j' K
页码:1376" O" v2 z& {0 X4 G6 C  b$ `
定价:160:00RMB
8 b+ T4 B+ b$ f7 G  o8 o( C. F6 l( d$ Q' L5 K
此书被认为是Windows编程最好的导论性读本。在1994年5月,此书的作者Charles Petzold被《Window Magazine》和Microsoft公司授予”Windows Pioneer”奖,以表彰他对Microsoft Windows的成功作出的贡献,可见该书的权威性,以至于“如果对Windows开发有什么问题的话,请翻阅PetZold的著作吧”几乎成了一句至理名言。/ H+ S: [' }* a) l: c/ Y

6 W7 ~( u, Y( B  J/ n- i: I本书覆盖了WINDOWS编程的方方面面,将windows编程的每一个元素(如输入,输出及对话框,图形,多媒体,线程,文档与视图,Internet等等)讲解得很清晰、简明,采用的大多是具有代表性的示例,代码风格好并且很有实用价值。笔者认为这本书是学习WINDOWS编程的经典入门好书,每一次的细心阅读都会对WINDOWS编程有更深刻的理解, 不过笔者认为书中讲的内容都较为基础,更深层的东西可以去看《 Windows核心编程 》。
  H/ d& J" w0 i; B; q( z! h
+ |7 y, f# y1 W- c' v笔者建议有条件的读者,最好阅读英文原版。2 N' V- @: w# F4 K6 u3 `

$ X: ?3 F; T) Q2 l; Q+ p" BWindows核心编程 7 h0 ^5 ^- v) y# I
原书名: Programming Applications for Microsoft Windows Fourth Editio  + H; r6 F$ d$ H$ t7 e* ]
原出版社:Microsoft Press5 w5 u) T* A* i8 k+ u; E' M4 I! e
作者:(美)Jeffrey Richter
. n/ S1 ~- G& b译者:王建华等 & u( i9 z0 U- t7 c0 @6 [' K
出版社:机械工业出版社
# }) z7 f6 B8 [: F# B& i; }出版日期:2000-053 Z6 o* `& J9 C7 H6 }
页码:689% n/ c1 d1 G# P4 \# g& O8 @
定价:86:00RMB
, }3 x& ]2 q# O0 N1 H: v
" h' E8 W$ K/ R6 i2 D) t  a5 hJeffrey Richter 是 Windows System 程序设计的头头,他的每一本书都对 Windows 核心有很精彩的剖析,笔者从《Windows 95 程式设计指南》,《 WINDOWS 高级编程指南(第三版) 》,《 Windows核心编程 》到《 Microsoft .NET框架程序设计(修订版) 》一直阅读他写的书,可以说本本经典,阿蒙是他的崇拜者,死心踏地地追随Jeffrey Richter。7 `' s. _( L5 M5 G* e2 j4 ~
, B" d4 @! a) J  C0 h/ U
本书是讲解Windows 操作系统内部机制的专著,作者从基本概念入手,全面系统地介绍了Windows的各种基本构件,如进程、线程、DLL和内存管理等,并列举了大量应用程序,精辟地分析了构件的使用方法,为掌握Windows 编程技巧提供了一条有效的捷径。笔者写过两年的windows驱动程序, 本书的内存管理章节给我提供了很大的帮助,可见本书对内存管理讲得非常地透彻。另外本书对进程和线程的讲解也十分地经典,先说明其来龙去脉,然后描述其中的工作机制,并详细说明windows提供了哪些API函数来进行多进程与多线程的程序设计,如果能结合侯捷老师的《 Win32多线程程序设计 》一起研究的话,那你对进程与线程的理解将更有深度。, L% ?+ k1 v9 k1 S) Y
$ B& d* F. C6 _5 M# D1 V0 o

5 z( P2 [: a" RWin32多线程程序设计 ! @6 I, ^9 d. f2 f7 d
作者:侯俊杰(侯捷) 0 O$ y* o' v* L& _: R1 j5 S
出版社:华中科技大学出版社6 @; O" m# u3 M& d( A
出版日期:2002-013 b+ Z9 q, y8 ^& l- b. z0 }
页码:480
# b  r7 E! L6 q- U' l) e定价:59 .80RMB   
, L' G' ?# a6 p. U
. Q# g/ d% n# n1 ~使用线程,你可以产生高效率的服务器,建立Internet服务器扩充软件,获得多CPU系统的好处,建立精巧的COM/OLE对象,并改善程序的反应度。/ c1 A3 M0 t& p# S$ @3 g: V

+ l- n2 p$ t& r; h- U本书的第一篇“上路吧,线程”,为你建立必要的基础,包括线程的启动和结束、核心对象、激发和未激发状态的意义、同步机制及其用途。第二篇“多线程程序设计的工具与策略”,介绍C runtime函数库和MFC对线程的支持、如何在USER和GDI的限制之下施行多线程、如何产生一个DLL、如何对多线程程序调试。第三篇“真实世界中的多线程应用程序”,谈论如何组织一个程序,使它有效支持多线程。本篇示范两个真实世界中的应用软件,第一个是个freethreaded OLE automation server,第二个是 ISAPI程序,是个IIS(Internet Information Server)扩充软件,示范如何和JET数据库交谈。
0 _- n( `6 P) [
( r6 q# r6 y7 ~本书从理论到实际应用讲得很全面及易懂,范例程序也很丰富并且具体生动,而且书里不时地在一些需要注意的地方给出一些总结性的建议,这不仅让读者倍感亲切,而且也加深了对所学内容的理解。
( h/ k! k; ?2 M5 V/ M1 g, v+ Q) D3 j9 o

' ]- O3 ?0 t6 S' E, X+ ZMFC编程类
; [! {! J6 T0 F1 n! ?% l- i7 n/ Z0 |* T3 J& P8 s, M
MFC Windows程序设计(第2版)
8 I/ R! u0 l) H( a5 b: j( y原书名: Programming Windows with MFC Second Edition   . i9 I& a4 G/ F0 l/ o
原出版社:Microsoft Press( o( \5 q/ X) Q1 U4 I
作者:(美)Jeff Prosise 4 e/ y+ d& {0 h6 z" a. N) N
译者:北京博彦科技发展有限公司
; m. ?, B0 ~+ l/ s% F7 z9 W出版社:清华大学出版社2 h5 i$ [, Q3 u! F
出版日期:2001-093 k- \9 F. p' u! h
页码:1166! y; S) q( u% h0 U
定价:128:00RMB) V/ j- W0 w- }
3 q3 s4 U6 @5 i5 q5 o9 x$ c; @
本书不仅扩展了已被认为是权威的关于Microsoft 用于windows API的功能强大的C++类库的阐述,还新增了有关COM,OLE和ActiveX等内容。本书的作者,Jeff Prosise,用其无与伦比的技巧向读者讲述了MFC程序设计中的基本概念和主要技术-再次阐释了在32位windows平台上进行快速的面向对象开发的完美方法。& K4 C- a! h& A

! v8 L+ b( I; `! ^+ x笔者认为本书讲解细致而且全面,比较适合初学者, ; y2 r+ X8 J4 M% q

1 H, E# S, D) V. H3 K2 C1 M( R. I1 Q- h3 L/ b- V# N- U# j% R0 |
深入浅出MFC(第二版) ! _$ y0 @$ t7 q0 v9 P* m
作者:侯俊杰(侯捷) ' Z) x. r7 P% s- g$ I7 Z
出版社:华中科技大学出版社0 i$ d, f0 \6 n/ K# i3 k
出版日期:2001-01
* d& y) G+ f/ |. n- d页码:736
; B8 S& i/ i$ X! E" ~定价:80:00RMB ; s9 w# f  J! t( z( A8 Z4 ]0 k
0 E) I# m- P7 \' b3 N  u4 c
   有关这本书及其作者,不用我多说,大家已非常清楚,网上也是众说纷坛。
3 o1 D1 w, A& {5 u+ S* A) j+ c' @) x: m( Y. A
    本书分为四大篇。第一篇讲SDK编程,简单明了的概括了SDK程序设计的主要原理,提供进入MFC核心技术以及应用技术之前的所有技术基础,特别是Windows的消息机制,讲得很清楚。第二篇介绍Visual C++整合环境开发工具,对整个软体开发环境有全盘以及概观性的介绍,可以让初学者迅速了解手上掌握的工具,以及它们的主要功能。第三篇介绍application framework的观念,以及MFC骨干程序,所谓骨干程序,是指Visual C++的工具AppWizard所产生出来的程序码。根据我的了解,太多人使用 MFC 是编写程序只是知其然而不知其所以然,本篇详细解释 MFC 程式之来龙去脉,为初入 MFC 领域的读者奠定扎实的基础。第四篇以微软公司附于Visual C++光碟片上的一个范例程序Scribble为主轴,一步一步加上新的功能。并在其间深入介绍Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serialization)、Message Mapping、Command Routing等核心技术。这些技术正是其他书籍最缺乏的部分。0 q6 m4 r9 I( U7 E; |: e

+ ?+ U' b5 w$ ?2 ^5 R# i“初学者只需掌握它的精髓,而不需深究它的全部内容,否则很有可能你会看不懂,等你在不断学习过程中,返过来重复学习,你将会发现此书的奥秘所在”。
1 B, L. a, ^7 c1 m' S8 ]( {- V" z
COM编程类
6 }. x2 d2 i6 u) H, v7 y2 C3 A& P) j8 ?. o; u
COM原理与应用
! I- L, J& ?& i/ h7 t! f作者:潘爱民- N% G* z4 X2 k1 D% ]# M9 S( f% @
出版社:清华大学出版社. I; a& b8 T& Z3 v. u& ]
出版日期:2001-03
" \! X6 N" Z* |* w. y: J1 ]页码:472
4 F1 e4 a- D8 h+ i定价:39:00RMB 9 b4 w8 G, i/ ]5 W
; |; L5 X/ Q1 I% k6 q
本书不仅介绍了COM的基本原理及其扩展知识,还讲述了MTS及COM+的一些知识。全书分为三部分,第一部分为COM基础,作者在写这部分内容时,参阅了“ COM技术内幕:微软组件对象模型 ”一书,但对内容结构进行了重新调整,并增加了一些关于WINDOWS程序设计和MFC方面的知识;第二部分为COM扩展,第三部分为COM应用与发展,介绍了组件化程序设计思想以及多层软件结构模型。读者在学习了COM的基本原理之后,结合MTS和COM+所倡导的一些概念,就可以从更高的层次来理解和使用COM及COM+了。5 E; h8 ^3 a: k' v# C
# B0 F+ X$ T/ B6 T. L) n
   对于COM初学者来说这是一本经典的书, 它由浅到深的论述使你对COM的概念及框架有较深的理解。8 g( N7 p8 n7 W' v0 r2 I' M
# }/ d$ ]( l* ]9 g' A4 m5 N8 @0 g
COM本质论 # M* \1 [* U( x4 i1 k
原书名:Essential COM. T3 w6 N" N: h+ m
作者:(美)Box,D.* B8 J$ L9 B2 G
译者:潘爱民9 J3 @4 S" W$ p3 A1 Y: G
出版社:中国电力出版社 - ^$ l3 H( z  ^
出版日期:2001-08
/ ?7 J- p  H3 Z3 w0 G2 B页码:358
7 S# o3 b, G; v4 g3 E1 `" h定价:49:00RMB
- T$ Y* _' N& a9 {8 N) e0 K" o9 L
- ~0 T) S2 o8 }) ^  W! T+ S' ?; b本书由具有鬼才之称的Don Box撰写,在计算机界,“没有人能把COM阐释得比Don Box更清楚”;
. a& Y  l7 P+ ?- ^5 G* u6 R$ j8 P
6 B4 v. Z% [$ E! R本书无疑是COM领域中最负有盛名的一本书。在亚马逊的排行榜上曾盘踞数月之久,很多专家给其以极高的评价。读完这本书之后,COM对于您会“变得再明白不过了”(这是“Inside OLE”的作者Kraig Brockschmidt和本书的作者DonBox在顿悟了COM和OLE之后的境界)。期望您会有这样的感受。5 ]' B& ~3 c, t) s' {+ L  v# f

8 k$ P+ n/ z' d- y' w+ v& r9 x; u本书揭示了COM(组件对象模型)的本质,旨在帮助开发人员真正理解COM的为什么,而不仅限于怎么使用。书中还提供了一个完整的分布式COM应用,演示了各种编程技术。此外,本书还涉及到许多COM高级特性,例如线程模型(或者套间模型)、名字对象、连接点等,因此,要想从本书获得最大受益,您也需要有COM的知识作基础,建议读者先阅读《 COM原理与应用 》之后再阅读本书。
) a3 y& g) L2 M+ O3 D4 o' [: K: a0 h( J" p" v) T' J' I+ D& h
“ 这不是一本供新手学习的书,也不是一本教您如何开发COM组件的书,而是一本在一定的基础上继续提高对COM的理解的书。如果用它来学习COM,您可能会失望,因为许多内容需要有一定的经验基础才能看得明白;但是如果用它来加深自己对COM的理解,那么这本书再合适不过了。”" D! ]+ a9 ^! ^/ @7 V
! W' O& J- V7 W1 W0 g+ Z0 `6 K
差书点评2 D/ |1 H- D# T
《MFC开发人员参考手册 》
5 S+ n. T* e' |) ^7 e1 I/ B: _2 S$ }# O( j1 v5 @6 G
  本书是一本详细介绍MFC类库的工具书,它对MFC类库4.2版本中所有的类及其成员都做了比较详细的说明.笔者认为MSDN就是最好的工具,没有必要花这个冤枉钱.5 s5 K( G' @- A  `) `
% ^1 g4 Q* X& S+ y* k2 u
学习心得' f4 C" J7 `& Y( d" G& ?3 K, i0 v5 _

2 _, _) @$ t' ]) \$ g看了不少的书,也写了不少的代码,简单总结一下我的学习方法,笔者是按以下的顺序来学习的:C/C++ ――> SDK ――> MFC ――>COM/DCOM/ATL/COM+,当然这个顺序的前提是你已经具备了一定的数学,数据结构及算法,操作系统等基础知识,学好C++是很关键的,尤其要理解清楚OOP思想,养成以面向对象方法去思考问题解决问题的习惯;学习SDK的目的主要是理解Windows OS的内部机制比如内存管理,多任务及多线程等,特别要透彻地理解Windows的消息机制;有了前面的知识,学起MFC就容易了,有些网友经常与我聊,说他看了一年多的书,也写一些程序,但对MFC还是一头雾水,我想主要的原因还是学习不够系统性,很多知识及经验是循序渐进的,千万不要幻想一步登天,要有持之以恒的学习及实践精神。
作者: ilikenba    时间: 2004-10-2 12:04

最后这段话说的很好!但是我还是觉得学习C/C++确实是有困难的!不如先学习pascal/Delphi来开始Windows的学习!


作者: ╃無名草╃    时间: 2004-10-2 12:59
另外,《windows程序设计》一书已上传




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5