Memory VB6内存限制
我目前正在支持一个运行在多台服务器上的VB6应用程序(我们正在替换它,但这是一个缓慢的过程!)。谁能告诉我VB6进程Can地址的最大内存量是多少?我们使用多种操作系统:Memory VB6内存限制,memory,vb6,Memory,Vb6,我目前正在支持一个运行在多台服务器上的VB6应用程序(我们正在替换它,但这是一个缓慢的过程!)。谁能告诉我VB6进程Can地址的最大内存量是多少?我们使用多种操作系统: Windows Server 2003 32位 Windows Server 2008 64位 Windows Server 2008 R2 64位 我尝试过使用这样的资源: 但我怀疑这是否准确,因为它讨论的是基于.NET的应用程序,但我找不到比这更重要的问题。很难把这些“如果超人与上帝搏斗会怎么样”的问题看得太重。早在这
- Windows Server 2003 32位
- Windows Server 2008 64位
- Windows Server 2008 R2 64位
Option Explicit
Private Sub Main()
Const MAX_BYTES As Long = &H63700000
Dim Bytes() As Byte
ReDim Bytes(MAX_BYTES)
Bytes(MAX_BYTES) = 255
MsgBox "Success" & vbNewLine & vbNewLine _
& "Bytes(MAX_BYTES) = " & CStr(Bytes(MAX_BYTES)) & vbNewLine & vbNewLine _
& "MAX_BYTES = " & Format$(MAX_BYTES, "#,##0")
End Sub
结果:
Success
Bytes(MAX_BYTES) = 255
MAX_BYTES = 1,668,284,416
链接的博客文章正确地指出了.Net进程的局限性以及它们无法处理大量数据。像.Net这样的脚本引擎并不是为这些东西而构建的,不要低估巨大的库的开销,即使是最简单的.Net程序也会拖入它的地址空间。@puropoix:虽然你的链接很棒(谢谢),但我在那里没有找到32位进程2GB的答案。这个2GB限制(从未测试过3GB开关)适用于32位应用程序(VB6是32位),即使操作系统可以处理更多有趣的问题(正如您从64位操作系统知道的)。为什么不写一个函数来确认呢?@VanquishedWombat我甚至没有VB6 IDE。这不是一个我们有源代码的应用程序。我正在管理应用程序的输入。@Paul抱歉没有从您的描述中了解到这一点。我怀疑应用程序没有正确释放内存。这不是一个假设的问题,而是一个实际的问题,我正在与一家已倒闭的供应商合作开发一款应用程序。