如果学好windows核心编程

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:17:47
我现在的水平只能开发一些界面应用程序,比如图书管理系统基于数据库之类的程序,没有做过核心编程,比如两个进程之间数据共享之类的,windows核心编程看了前面几章,感觉不怎么实用,可能是我没用到这一方面的内容。在前段时间也看了一下COM,感觉也不理想。请问下有经验的大哥大姐,如果想往驱动,内核方面学习应该学些什么?介绍几本书吧,非常感谢~~PS:现在在工作,但工作内容跟编程完全无关,所以每天只有有限的几个小时来学习.

《Windows核心编程》,是一本好书。。编程越到后来,才越发现基础的重要。
我个人有体会,就比如说《windows核心编程》的第一章,讲UNICODE那片,事实上,就非常重要。举个例子来说,就说你熟悉的数据库编程。假设你使用SQL sever 2000,假设有一个字段是char类型,假设你做的程序使用UNICODE,那么,就会出现问题。要么,你把字段改成nchar,要么,你把程序改成ANSI。还有,如果你使用UNICODE,UTF8编码,假设一个字符串lpszText,你要遍历这个字符串,使不能 for( ; *lpszText != 0; ++ lpszText )的。因为++lpszText不一定指向下一个字符,因为UTF8编码有可能是单字节字符,也有可能是双字节字符。。这些问题都比较隐蔽,如果你没有好好看这一章,出了问题很难找原因,因为你根本不知道原来这也会出问题。
所以,基础非常重要。
如果要向内核进发。。首先看的就是这本书《Windows核心编程》。。一开始看这本书,会越看越薄,但是要深入的看,又会越看越厚。。等你再把它看到越看越薄,就OK了。
然后,还要学习一下汇编,反汇编。。比如《Win32汇编语言程序设计》等,要对操作系统有比较深入的了解,比如挂钩、DLL等等。。。
总之,你现在不知道自己该怎么去学习,就是因为基础太差,先要夯实基础,基础好了,自然就知道自己应该怎么学。

我觉得 windows核心编程 这个书是非常好的。 虽然他讲的东西并没有切实实用的例子, 但是当你不使用MFC去做一些事情的时候就会发现那书里的东西其实是很有针对性的。
看书看到基础的东西经常会让人觉得比较无聊,这东西基本都知道的嘛, 其实做起东西来用到的无非就是这些基础的组合, 把这些东西掌握透了才能比较顺的编程。很多时候功能不会做,或者做不出来,就是因为对某些基础问题或api的理解有点偏差, 就这一点偏差足够让你的程序从哪里跌倒就从哪里躺下去。 而对基础问题全方位的讲解正是这本书最大的亮点。
关于驱动的学习,我觉得还是应该一步一步的来, 界面这些东西离驱动太远了, 内核级的编程需要考虑的东西很细碎, 如果你对线程,同步(各种同步方式就够学一阵子的),异常等等这些东西了解太少的话恐怕很难做出