阅读:1711回复:12
关于new 和 delete
我想在win2000下的并口驱动中建一链表,能用new 来分配内存空间
吗,如不能,应用何函数。 谢谢 |
|
沙发#
发布于:2002-04-17 08:22
不能。
驱动中分配内存用ExAllocatePool,ExFreePool,ExAllocatePoolWithTag等; 另外在驱动中使用链表必须使用如LIST_ENTRY数据结构:InitializeListHead,InsertTailList,以及对应的KSPIN_LOCK; |
|
|
板凳#
发布于:2002-04-17 08:31
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2002-04-17 10:12
在内核分配内存,要求很多。不能用new和delete
|
|
地下室#
发布于:2002-04-17 12:24
可以使用new和delete。
但是你必须重载。关于new和delete的重载比较复杂,如果你想保证所有的new和delete都能用,要做很多的工作。 如果你只想凑合用,很简单。看看《C++编程思想》就可以了(尽管这本书不怎么样,对付这种问题还是绰绰有余)。 这里的人没几个懂C++,这种问题最好不要在这里问。 |
|
5楼#
发布于:2002-04-17 12:32
可以使用new和delete。 这话不一定对吧?应该说这里的人没几个不懂C++,只是还是用C。 |
|
6楼#
发布于:2002-04-17 16:23
重载new和delete以后还是要调用ExAllocatePool,ExFreePool等函数,没什么必要吧
|
|
7楼#
发布于:2002-04-17 16:29
有必要绕过南极到达北极吗? :D :D :D
|
|
8楼#
发布于:2002-04-17 18:11
|
|
9楼#
发布于:2002-04-17 19:29
你去问问Bjarne Stroustrop为什么要引入new和delete?
难道好处还要我说吗?为什么驱动不用C++?对于这种愚蠢的话语,例如:“有必要绕过南极到达北极吗”,“重载new和delete以后还是要调用ExAllocatePool,ExFreePool等函数,没什么必要吧 ”,恕我不再回应。 |
|
10楼#
发布于:2002-04-17 19:43
好像有人很生气的样子。 :)
|
|
11楼#
发布于:2002-04-17 23:45
重载new和delete以后当然不必要调用ExAllocatePool,ExFreePool了,可是虽然知道面向对象的优点很多,但在做驱动的时候,还是用C习惯些。
|
|
12楼#
发布于:2002-04-18 13:17
wilton,你说话真不好听
这儿的C++高手当然多的是 tntxw你若嫌自己重载麻烦就用DriverWorks吧,让别人帮你做好 |
|