`
huobengle
  • 浏览: 889017 次
文章分类
社区版块
存档分类
最新评论

天书笔记(2)---使用C++开发内核程序

 
阅读更多

1.使用C接口的标准声明

在C++中使用C编写的接口,要在前面加 extern "c"。

2.重载操作符

3.使用类静态成员函数

使用C++的时候总是要注意,把一个类的成员函数当做普通的C函数使用是不对的。至少类的成员函数都知道this指针,而C函数不知道,所以它们的接口实际上是不一样的。而静态函数可以,静态函数调用的结果不会访问或者修改任何对象(非static)数据成员。

下面实现一个MyDriver的类,把分发函数作为虚函数以便于继承

代码照着书敲得可哥就是没编译成功。。。

driver->MajorFunction[i]=sDispatch为什么不直接给我们的OnDispatch,因为类成员函数(右)跟普通C函数(左)接口不同,所以又定义了一个静态函数,这个静态函数来作为分发函数的指针,这个静态函数里面调用虚函数OnDispatch(要调用这个虚函数因为静态函数里面没有this指针,所以去定义了一个类型为MyDriver*的静态成员,这等于是一个全局公共的指针,只有singleton才可以这样做),以便我们派生。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics