当前位置: 代码迷 >> 驱动开发 >> 在驱动开发中,能否使用标准c++中的STL?解决方法
  详细解决方案

在驱动开发中,能否使用标准c++中的STL?解决方法

热度:125   发布时间:2016-04-28 11:10:07.0
在驱动开发中,能否使用标准c++中的STL?
我参考了侯捷的《STL源码剖析》,个人感觉是可以的。
但是我学习驱动开发时间不长,不敢下结论。
请各位朋友帮我解答下这个问题:
是否可以将标准C++中的STL中的list,vector,map等数据结构,用到驱动的开发?我之用这些数据结构,不用STL提供的算法函数。

另:大家在开发驱动的时候,需要链表等数据结构时,一般用什么?

------解决方案--------------------
直接用有困难,STL等库分配内存都要通过Runtime在Heap上分配内存,这在驱动开发里面是不可以了。即使你自己写Allocator,还是有一定问题。驱动中很多时候必须保证内存不能被Page Out,否则在高IRQL的时候会蓝屏,这种库分配内存都是在你背后,所以基本上没法儿管理。另外C++的异常处理在驱动级也是有问题的。

链表有List,看看例子。
  相关解决方案