阅读:1231回复:3
驱动程序不能用C的标准库?
windows wdm设备驱动程序开发指南一书中说,c标准库与c++的new运算符不能用.
但在driverstudio给的例子中,却用了new和delete? 我在驱动中使用了malloc和free,加进了几个库,编译连接都没问题,但插上设备却找不到驱动.究竟哪些库不能用在驱动中? |
|
沙发#
发布于:2004-03-03 23:38
new和delete是C++的运算符,可以被重载,driverstudio已经将之重载了。其实new和delete主要是用来在heap中分配内存的。由于驱动程序涉及分页与非分页内存,不能使用标准库中的new和delete.
常见的标准IO库、文件操作库、操作系统相关库、字符串库等都不能直接使用。基本数学库一般没问题。但都要慎用。 |
|
|
板凳#
发布于:2004-03-04 09:24
十分感谢!
其实,我用这些库的目的也只是为了进行调试 我现在用DriverMonitor,还有更好的工具吗? |
|
地板#
发布于:2004-03-04 09:41
如果做USB当然可以用Bus Hound了。可以观察到数据流。
|
|
|