rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
阅读:2242回复:11

在driver中最好不要用STL

楼主#
更多 发布于:2007-02-14 07:44
我同事狂喜欢C++和Compuware的STL,一定要坚持用这些。但最近在Vista上测试发现其实有很多bug,只不过以前Windows的verfier不知道为什么没有测试出来。其中一个就是STL的generic_lock,内部用的是KMUTEX,但STL的wait从来不检测KeWaitForMutexObject的返回值,这样造成即使没有持有mutex也要release => BSOD。

其他还有各种错误不一而足。这里提醒想用的兄弟,自己掂量着用。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-02-14 09:09
引用第1楼XiangXiangRen2007-02-14 10:35发表的“”:
如果你的标题为“在driver中最好不要直接用Compuware的STL”我表示赞同。但是说“在driver中最好不要用stl”我持保留意见。


我不知道你用的是哪个STL。Compuware的STL是stlport的改进版,stlport的版本本身就有这个问题,Compuware又引进了一点问题。MS的STL我也看过,也差不多。我本人不常用STL,所以除了这2个以外,不知道还有哪个。请告知。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-02-14 10:11
引用第3楼wowocock2007-02-14 11:27发表的“”:
我连C++特性都不用,别说STL,不是不能用,而是不敢用,那玩意太复杂,自己时间又没那个能力自己实现,真正好点的也就DRIVER STUDIO里面的那个了,连它都不行的话,那就真的没办法了.....


和我的想法差不多,还是C好啊
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部