首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB6:小内存管理之谜

VB6:小内存管理之谜
EN

Stack Overflow用户
提问于 2017-02-13 01:24:51
回答 1查看 193关注 0票数 4

我不能完全理解VB6程序中刚刚发生的事情。这是在Win7-64和Win10上。

我写了一个用于加载和显示4K (3640x2160)图像的Q&D概念证明。每个图像占用24MB内存,因此我“知道”,基于32位进程的2 2GB内存限制,我最多只能加载大约80个图像。

系统有32 to的内存,但我的程序无法访问这些内存...对吗?

代码语言:javascript
复制
Const nPix As Long = 80

Dim Pix(1 To nPix) as stdPicture  ' an OLE construct
For k = 1 to nPix
   Pix(k) = LoadPicture("next in folder")
Next

没有问题,需要一点时间,但工作和使用预期的内存。

对于grins,我将nPix增加到100,只是想看看它是如何失败的。但它没有。尝试nPix = 200,然后是300。仍然继续运行,然后消耗了8 8GB的系统内存。而且完全没有问题:

代码语言:javascript
复制
PictureBox.PaintPicture Pix(300)

这到底是怎么回事?我使用的是谁的内存,又是如何使用的?

EN

回答 1

Stack Overflow用户

发布于 2019-05-09 21:48:49

我认为这是因为图像是由操作系统本身加载的,并且只返回某种类型的句柄给VB6进程进行操作……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42190789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档