我参考了侯捷的《STL源码剖析》,个人感觉是可以的。
但是我学习驱动开发时间不长,不敢下结论。
请各位朋友帮我解答下这个问题:
是否可以将标准C++中的STL中的list,vector,map等数据结构,用到驱动的开发?我之用这些数据结构,不用STL提供的算法函数。
另:大家在开发驱动的时候,需要链表等数据结构时,一般用什么?
------解决方案--------------------
直接用有困难,STL等库分配内存都要通过Runtime在Heap上分配内存,这在驱动开发里面是不可以了。即使你自己写Allocator,还是有一定问题。驱动中很多时候必须保证内存不能被Page Out,否则在高IRQL的时候会蓝屏,这种库分配内存都是在你背后,所以基本上没法儿管理。另外C++的异常处理在驱动级也是有问题的。
链表有List,看看例子。