windows 核心编程还有学习的必要么?

2015-01-08 22:32:48 +08:00
 otmb

听说MFC快死了,如果是这样,还学什么核心编程呢:(

不过,貌似这本书挺经典的样子,要不要学呢,纠结了

19569 次点击
所在节点    程序员
48 条回复
otmb
2015-01-09 03:03:43 +08:00
@em70 Borland好像被收购了,现在Delphi系列产品还有人维护么?
datou552211
2015-01-09 08:02:49 +08:00
web 和 移动
meta
2015-01-09 08:55:05 +08:00
看完上面二十多楼,感觉又回到了十年前,多么怀念啊。
andy1987
2015-01-09 08:59:42 +08:00
这个书更多是介绍如果通过系统API和系统进行交互的,还是很值得一读的,所以请抛开MFC去阅读这本书
yangyanggnu
2015-01-09 09:16:45 +08:00
我个人觉得 win32 的 SDK 和 DDK 都有研究的必要,对于了解系统运作非常有帮助。这些根基的知识不会有过时之说。MFC 是对 win32 不严谨的封装,所以,你要的是 win32 而不是 MFC。

win32 相关书籍:

《Programming Windows (5th Edition) 》: http://www.amazon.com/Programming-Windows-5th-Developer-Reference-ebook/dp/B00JDMP71S/ref=sr_1_2?ie=UTF8&qid=1420765395&sr=8-2&keywords=windows+programming

《Programming Windows》: http://www.amazon.com/Programming-Windows®-Fifth-Microsoft/dp/157231995X/ref=sr_1_2?s=books&ie=UTF8&qid=1372211708&sr=1-2

《Windows via C/C++》: http://www.amazon.com/Windows-via-Pro-Jeffrey-Richter/dp/B00B9ZFGRW/ref=sr_1_1?s=books&ie=UTF8&qid=1372211040&sr=1-1

《Windows Internals》-part1: http://www.amazon.com/Windows-Internals-Part-Covering-Server/dp/0735648735/ref=sr_1_5?s=books&ie=UTF8&qid=1372211273&sr=1-5&keywords=David+A.+Solomon

《Windows Internals》-part2: http://www.amazon.com/Windows-Internals-Part-Covering-Server/dp/0735665877/ref=pd_bxgy_b_img_y

另外,windows 的内核源码也有研究必要,从我经验来看,获取 windows 内核源码至少有三个渠道:reactOS、wine、Windows Research Kernel、win2K 泄漏源码。多年前有国外组织对 windows 内核进行逆向工程,诞生了 reactOS 和 wine 两个项目,前者是类 window 操作系统,与 window 在 API 级别兼容,后者是在非 windows 系统上运行 win32 程序的中间层,逻辑上,与 window 在 ABI 级别兼容;Windows Research Kernel,M$ 向高校和政府开放的用于研究的部分内核源码,通过某些特殊渠道你可以拿到;win2K 泄漏源码,大约在 2K4 年发生的事件,你知道那儿有。

前三者分别对应三本名著:毛德操的《Windows 内核情景分析—采用开源代码ReactOS(上、下册)》、wine官网的《Wine Developers Guide》、潘爱民的《Windows内核原理与实现》。

如果以上知识你都消化得差不多了,还想提升,可以研究下 rootkits。

P.S., DDK 我没觉得有几本名著,所以,不推荐了。
sujin190
2015-01-09 09:21:01 +08:00
mfc现在用得可能不多,但其中很多设计思想对初学者还是有很大帮助的,核心编程不得不说是本好书,可以一看
yuankui
2015-01-09 09:29:15 +08:00
小朋友,我告诉你
现在这个年代 学windows编程基本就是作死。。
要么移动,要么web,你选吧。。
likebeta
2015-01-09 09:31:41 +08:00
学的主要是思想, 过时的是mfc以及api,其他的不便
zkd8907
2015-01-09 09:36:49 +08:00
Windows核心编程和MFC有毛关系啊 = =
sharebox
2015-01-09 09:37:29 +08:00
不管实际项目有没有用到,如果是在windows平台开发,有学习一下的必要,除了核心编程,还有楼上推荐的几本书,看完之后对windows运作的一些机制会有个大体的了解,核心编程里面的内容估计和MFC没多大关系 ,MFC只是一个开发框架。MFC其实也有了解一下的必要,倒不是说一定要用,可以看看侯捷翻译的深入浅出,一步步自己实现类MFC的框架,可以学到很多东西。大家都比较推荐Delphi, VB, 只能说各有所长吧, 我接触到的工业级别的项目,尤其是国外的,windows平台下很多都是VC的工程...... ,不过VCL开发确实比较方便快捷,我也喜欢,主要看需要。以上内容拿来学习研究就可以了,如果真要在工作中开发windows程序,除非客户还在用winxp,不然桌面程序还是直接上WPF吧。
LittleMK
2015-01-09 09:42:44 +08:00
如果你想开个什么东西,还是直接.NET吧。如果你个人对windows 核心编程类似的内容非常兴趣,学习一下肯定对自己有帮助
em70
2015-01-09 10:13:03 +08:00
@otmb 卖给embarcadero了,每年一个新版本,目前路线是全平台,采用firemonkey和VCL两种框架,firemonkey支持win,mac,ios,android跨平台开发, linux后面也会支持. 如果只是win32平台开发,巅峰版本D7还是用得很多得. 掌握PC软件开发技能还是很有价值的,毕竟PC永远不会死
thfurior
2015-01-09 10:53:45 +08:00
同打算学的被楼上几位吓得不敢说话
Drinking
2015-01-09 10:58:48 +08:00
有一本全新的 《Windows程序设计(第5版·珍藏版) 》,楼上有需要么,半价出了。买来就没看过,真是珍藏了
akagi
2015-01-09 11:18:50 +08:00
前一段翻了下,书写得不错,东西有点老,不过微软恐怖的兼容性,倒也不算落伍。如果是学习Windows的一些机制,这本书值得一看;当成API小全,那还是免了。
akagi
2015-01-09 11:22:04 +08:00
@yangyanggnu 真有人看得完毛德操上下么……
otmb
2015-01-09 13:48:46 +08:00
@yangyanggnu win2K泄露源码可以编译么?
otmb
2015-01-09 13:49:22 +08:00
@likebeta 不会mfc,学得懂内核编程思想么:(
semicircle21
2015-01-09 14:37:53 +08:00
@em70 你暴露年龄了~
yangyanggnu
2015-01-09 15:12:11 +08:00
@akagi
真有人看得完毛德操上下么……
—— 也就 1.5 倍《c++ primer》的厚度嘛,(✿ ♥‿♥)


@otmb
win2K泄露源码可以编译么?
—— 这不是 win2k 完整系统的源码,只是内核的,分模块可以编译通过。

不会mfc,学得懂内核编程思想么
—— MFC 和 windows 内核没关系,MFC 只是对 win32 API 的封装,如果追求开发效率,你可以考虑 wxwidget,更现代的封装实现,并且还带来_原生_跨平台能力。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/160455

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX