以前有不少朋友问关于学习各种技术的推荐书籍的问题,这里把我觉得比较好的一些书籍列一下,希望能起到抛砖引玉的作用就好了:)
Win32开发
Programming Windows by Charles Petzold:Charles Petzold的书,Windows编程入门的超经典书籍,很多朋友学习了MFC,可是还是不清楚Windows程序的运作原理,结构和各种API的用法,这本书由浅入深的讲解了用Win32 API编程,特别是和GUI相关的API,强烈推荐!
Windows核心编程 / Programming Application in Microsoft Windows 2009 by Jeffrey Richter:由Windows开发著名大师Jeffrey Richter所著,讲解了Windows编程的一些和系统相关的API的用法,如Unicode,Process,Thread,内存管理,IPC,DLL,Hook等,和上一本书正好是互为补充。必读!
Win32环境汇编语言程序设计 by 罗云彬:本书从汇编角度讲解用API编程,除了基本编程之外,还涉及到部分较深入的技术如SEH,Hook,远程线程,自重定位等技术。非常值得一读。
编写安全的代码 / Writing Secure Code / by Michael Howard and David:由Windows安全专家Michael Howard和David编写,Windows安全方面必读的书籍,讲解了Windows中和安全相关的各种概念,API的用法以及大量实用的提高安全型的技巧,常见安全问题的分析等。即使你并非从事安全工作,也应该读这本书,因为安全已经渗透到开发的方方面面。
Programming Server Side Applications for Microsoft Windows 2000 by Jason Clark and Jeffrey Richter: Jeffrey Richter等人写的关于Windows服务器端编程,涉及到Windows服务,异步IO,完成端口,线程池,EventLog等高质量服务器端程序开发所需的各种技术。从事服务器端开发者必读。
Microsoft? Windows? Internals, Fourth Edition: Microsoft Windows Server? 2003, Windows XP, and Windows 2000 by Mark E. Russinovich and David A. Solomon:Russinovich是Windows编程的专家,是Sys Internal王占的创始人之一,前段时间不久还加入了微软公司成为了微软的Technical Fellow(微软内部工程师的最高职称,相当于副总裁级别),他对Windows内核非常精通。这本书没有直接讲API用法,而是讲解Windows内核的各个部分的运作方式,读过这本书之后会让你对Windows的内部有一个非常深入的了解。强烈推荐!
Debugging Applications for Microsoft .NET & Microsoft Windows, by John Robbins:覆盖Windows平台下用的各种调试方法,API,技巧和工具。对于提高调试水平和对Windows的理解都很有好处,这些技巧也可以被用到程序当中,提高程序的稳定性和可调试性。推荐。
MFC开发
Programming Windows With MFC by Jeff Prosise:Jeff Prosise的书籍向来质量很高,这本书也不例外,讲解了MFC的使用方法,而且作为参考书也很有价值,必读!
MFC Internals: Inside the Microsoft(c) Foundation Class Architecture by by George Shepherd, Scot Wingo和深入浅出MFC by 侯捷:这两本书讲解MFC内部实现的,讲解了MFC中消息的传递方式和MessageMap,对象的序列化,Document/View结构,OLE等内容,非常经典,学习MFC强烈推荐!
COM
COM本质论 / COM essentials, by Don Box:COM技术专家Don Box(原来在DevelopMentor,后来加入微软)所著,主要讲解COM的概念和原理(而并非讲解实际用C++/ATL进行COM编程),特别是前几章用C++模拟COM对理解COM非常有帮助。学习COM必读。
COM原理和应用, by 潘爱明:也是一本学习COM的好书,不仅讲解了原理,也比较实用,涉及内容也有一定广度和深度,可以和上面那本配套着读。
深入解析ATL / ATL Internals, by Brent E. Rector, Chris Sells:讲解ATL的内部实现,如智能指针,CComObject,CComModule, CComCoClass,连接点等。实际上使用ATL的时候经常需要跟进到ATL内部代码去查找问题,或者ATL自己有可能就有问题,因此这本书就显得十分重要。强烈推荐。
COM高手心经 / Effective COM: 50 Ways to Improve Your COM and MTS-based Applications,by Keith Brown, Tim Ewald, Chris Sells, Don Box (编辑):这本书以类似Effective C++的方式,用50个Item讲解了50个使用COM要注意的问题,非常实用。强烈推荐。