vb6 是 32 位程序。
而 32 位程序使用 32 位的指针来管理内存。2 ** 32 就是 4GB
所有的 32 位程序都可以读到 4GB 的内存。
但是 Windows 一般配置只有 2GB 是可以被使用了。另外 2GB 只能被 Windows 自身使用。
所以结果就是 vb6 限制 2GB 的数组大小。不止 vb6,所有的 32 位程序都有这样的限制。
【 在 wuduan 的大作中提到: 】
: 我用VB,发现数组大小限制为2GB,开始我以为是元素个数限制,就是说byte数组可以2G个元素,long也可以这么多元素。
: 后来发现,不是,是数组的尺寸就是2GB,long就没有byte那么多元素了。
: 都什么年代了,为什么要有这个限制?
: ...................
--
FROM 110.84.121.*