阅读:1107回复:3
请教大侠:在VxD中使用new出现的问题
我编写的VxD驱动,需要在驱动程序中动态的得到一段内存用来存储数据,我用了new来申请。
比如说:int * fp=new int (512); 但是,当我进行如下操作时,就出现了错误,计算机重新启动了: for (int i=0;i<512;i++) { *(fp+i)=0; } 请教各位大侠! |
|
沙发#
发布于:2002-01-27 01:49
我到是在驱动中经常用到new。不过和应用层的程序不一样的地方是最好根据自己申请的大小加上说明:
如:PagedPool、NonPagedPool等。 |
|
|
板凳#
发布于:2002-01-24 14:29
我从来没有想过在VxD里面用new的。
|
|
地板#
发布于:2002-01-24 11:29
使用new 来分配内存时,是分配了512 Bytes空间,而不是512*4 Bytes 空间,所以你越界了。
VtoolsD下,内存分配建议你使用 malloc()。 |
|