终于结束了三天的高烧,摆脱了甲流的猜疑,这几天除了睡觉就是在医院挂吊瓶,现在终于可以回来看看书了!
第二章简要的介绍了操作系统相关的一些知识,虽然简要,但是很重要,玩驱动就是要跟她打交道嘛。
每个人都会有一个自己最熟悉的编程语言,但并不是所有的编程语言都可以用来做驱动开发,比如说我比较熟悉用ASP编写网站后台程序,但ASP不能用来开发驱动,原因是它的编译器不能编译出PE格式的二进制文件,因此可以这样说,只要能够用编译器编译出PE格式的二进制文件,那么这门语言就可以用来进行驱动程序的开发。但一般情况,驱动的编写都是用C语言或C++语言,尽管如此,也不是C或C++的所有特性都可以用于驱动开发。
时间不多了,马上就得上班了,简单的说一下调用约定。
C或C++编译器在编译的时候会有四种不用的调用约定:
1.C语言调用约定 _cdecl
2.标准调用约定 _stdcall
3.快速调用约定 _fastcall
4.C++类成员函数的调用约定 thiscall
这里只说明WINDOWS驱动需要使用标准调用约定,但VC的编译器默认使用C语言的调用约定,因此在建立工程时注意修改此项。而DDK的开发环境则默认使用标准调用约用,因此不需要去特别设置这个参数。