阅读:2382回复:11
在driver中最好不要用STL
我同事狂喜欢C++和Compuware的STL,一定要坚持用这些。但最近在Vista上测试发现其实有很多bug,只不过以前Windows的verfier不知道为什么没有测试出来。其中一个就是STL的generic_lock,内部用的是KMUTEX,但STL的wait从来不检测KeWaitForMutexObject的返回值,这样造成即使没有持有mutex也要release => BSOD。
其他还有各种错误不一而足。这里提醒想用的兄弟,自己掂量着用。 |
|
|
总版主
|
沙发#
发布于:2007-02-14 08:35
如果你的标题为“在driver中最好不要直接用Compuware的STL”我表示赞同。但是说“在driver中最好不要用stl”我持保留意见。
|
板凳#
发布于:2007-02-14 09:09
引用第1楼XiangXiangRen于2007-02-14 10:35发表的“”: 我不知道你用的是哪个STL。Compuware的STL是stlport的改进版,stlport的版本本身就有这个问题,Compuware又引进了一点问题。MS的STL我也看过,也差不多。我本人不常用STL,所以除了这2个以外,不知道还有哪个。请告知。 |
|
|
地板#
发布于:2007-02-14 09:27
我连C++特性都不用,别说STL,不是不能用,而是不敢用,那玩意太复杂,自己时间又没那个能力自己实现,真正好点的也就DRIVER STUDIO里面的那个了,连它都不行的话,那就真的没办法了.....
|
|
|
总版主
|
地下室#
发布于:2007-02-14 09:49
引用第2楼rayyang2000于2007-02-14 09:09发表的“”: 我使用我自己修改过的STL。 |
5楼#
发布于:2007-02-14 10:11
引用第3楼wowocock于2007-02-14 11:27发表的“”: 和我的想法差不多,还是C好啊 |
|
|
6楼#
发布于:2007-02-14 13:02
写驱动一定要采用:能汇编,绝不C,能C,绝不C++政策
|
|
|
7楼#
发布于:2007-02-14 13:45
不要用Compuware的STL ,自己移植 SGI 的 STL ,或者自己实现你要用的 容器.
只要自己能控制的住,用 汇编,c,c++都是一样的. 高级的东西能给你带来更多的好处. 使你的程序更容易维护. STL 主要是在于他的思想在里面. |
|
8楼#
发布于:2007-02-14 13:47
一直都是用C。。。
|
|
|
总版主
|
9楼#
发布于:2007-02-14 14:10
引用第6楼killvxk于2007-02-14 13:02发表的“”: 这一定二字说得太过了。理论上什么都可以用汇编。 |
10楼#
发布于:2007-02-19 23:44
可以不用c++,但是其中的c++原理有的时候还是挺好的,通过反汇编c++程序可以学写到内部实现原理应用到c上感觉挺不错的
|
|
|
11楼#
发布于:2007-02-20 00:14
引用第9楼XiangXiangRen于2007-02-14 14:10发表的“”: 不过通常汇编代码是嵌入的~ |
|
|