阅读:1345回复:10
我的VxD文件怎么一下子长大了???
最近在修改VxD文件的时候发现我的这个VxD文件一下子从16K长到了1。03M,而我并没有加类似于#include之类的语句呀。各位大侠有谁知道是怎么回事吗?(我的VxD是用VToolsD +VC60开发的)
|
|
最新喜欢:![]() |
沙发#
发布于:2002-01-17 13:52
最近在修改VxD文件的时候发现我的这个VxD文件一下子从16K长到了1。03M,而我并没有加类似于#include之类的语句呀。各位大侠有谁知道是怎么回事吗?(我的VxD是用VToolsD +VC60开发的) 看一下你有没有 加入 全局数组一类的东东。 |
|
|
板凳#
发布于:2002-01-17 14:33
是呀,我加了一个1M的全局数组,难道这也要算进去。
如果是这个问题的话,我该怎么解决? |
|
地板#
发布于:2002-01-17 14:41
我用pBuffer=new BYTE [1024*1024]; 好象可以了。
不知道这样做会不会出什么问题。 |
|
地下室#
发布于:2002-01-17 14:53
what is \"全局数组\"???
global variable? thx |
|
|
5楼#
发布于:2002-01-17 18:12
是呀,我加了一个1M的全局数组,难道这也要算进去。 在一般程序中,只有初始化了的全局变量才会被导致文件增长。 而驱动,不管有没有初始化,都会导致文件增长。 可能是和堆栈模式不大一样有关。 new 一个1M的数组,不推荐。。。 不过如果你自己测试稳定, 也就没问题了。 |
|
|
6楼#
发布于:2002-01-17 20:03
我也遇到类似情况,我是加了一个64k的UCHAR型数组,VxD突然大起来了,不过经过测试,一切正常。
|
|
7楼#
发布于:2002-01-18 13:26
能不能推荐一个比较好的办法,能够在VxD文件不变大的情况之下使用大块内存。谢谢了
|
|
8楼#
发布于:2002-01-18 16:03
Hi, Nouk, that\'s global array
|
|
|
9楼#
发布于:2002-01-18 17:00
比如一个在驱动程序中的内存申请函数之类的。
|
|
10楼#
发布于:2002-01-25 11:21
由于386的分页机制,只有预先设好全局变量的数据区才能正常使用,所以你定义大数组时会出现这种情况!
|
|
|