VB6 内存限制

2024-04-05

我目前正在支持一个在多台服务器上运行的 VB6 应用程序(我们正在替换该应用程序,但这是一个缓慢的过程!)。谁能告诉我VB6进程可以寻址的最大内存量是多少?我们正在使用多种操作系统:

  • Windows Server 2003 32位
  • Windows Server 2008 64位
  • Windows Server 2008 R2 64 位

我尝试过使用这样的资源:https://blogs.msdn.microsoft.com/tom/2008/04/10/chat-question-memory-limits-for-32-bit-and-64-bit-processes/ https://blogs.msdn.microsoft.com/tom/2008/04/10/chat-question-memory-limits-for-32-bit-and-64-bit-processes/

但我怀疑这是否准确,因为它讨论的是基于 .NET 的应用程序,但我找不到比这更重要的内容。


很难认真对待这些“如果超人与上帝打架怎么办”的问题。早在这成为一个问题之前,您就应该从内存驻留数据结构转移到磁盘文件或数据库。

但即使不与 /LARGEADDRESSAWARE 链接并启动到 3GB 模式,VB6 程序也可以在 32 位 Windows 上处理相当多的数据。

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

Result:

Success

Bytes(MAX_BYTES) = 255

MAX_BYTES = 1,668,284,416

链接的博客文章正确地指出了 .Net 进程的局限性以及它们无法应对使用大量数据的情况。像 .Net 这样的脚本引擎并不是为这些事情而构建的,并且不要低估巨大的库的开销,即使是最简单的 .Net 程序也会拖入其地址空间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VB6 内存限制 的相关文章

  • 为什么MIPS中内存地址加4?

    如果某些内容存储在 0x1001 0000 处 则下一个内容将存储在 0x1001 0004 处 如果我是正确的 32 位架构中的内存块每个都是 32 位 那么0x1001 0002会指向32位的后半部分吗 首先 MIPS 架构中的内存地址
  • Visual Basic 6:如何使应用程序在任务栏中可见?

    我已将属性 ShowInTaskBar 设置为 true 但我的应用程序在任务栏中不可见 表单具有最小化 最大化和关闭按钮 当我单击最小化时 表单最小化为屏幕左下角的小表单 但不显示在任务栏中 你的表单是模态的吗 MyForm Show v
  • 如何将 char * 转换为 BSTR?

    如何将 char 从 C dll 传递到 VB 这是示例代码 void Cfunc char buffer int len BSTR buf bstr SysAllocString BSTR buffer VBptr VBfunc buf
  • Linux 中如何获取内存修改通知

    在Linux的用户空间程序中 我通过从堆中分配来获取一块内存 然后将指针分发给在其他线程中运行的许多其他组件来使用 当上述内存被修改时我想收到通知 我当然可以开发一个自定义用户空间解决方案 供其他组件在尝试修改内存时使用 我的情况的问题是这
  • RenderTargetBitmap 内存泄漏

    我正在尝试使用 RenderTargetBitmap 渲染图像 每次我从 RenderTargetBitmap 创建一个实例来渲染图像时 内存都会增加 完成后内存永远不会释放 这是代码 RenderTargetBitmap rtb new
  • 有关 Linux 内存类型的问题

    关于Linux内存我有以下问题 我知道活动内存是最常访问的内存部分 但是有人可以解释一下 linux 如何考虑将内存位置用于活动内存或非活动内存 主动存储器由哪些部分组成 磁盘 文件缓存是否被视为活动内存的一部分 有什么区别Buffers
  • WaitForSingleObject 是否充当内存屏障?

    昨天一个关于双重检查锁定的问题引发了一系列的想法 让我对一个简单的情况感到不确定 在下面的代码中 是否可以点击printf 不再同步 在这个简单的示例中 这些值可能位于同一缓存行上 因此我认为这种可能性较小 假设一开始可能性 gt 0 如果
  • 如何使用 java/vb 脚本调用自定义 ActiveX dll 中的方法

    我使用 VB6 创建了一个 ActiveX dll 并使用打包和部署向导将其打包 生成了一个 cab 文件和一个演示 HTML 页面 此 ActiveX dll 包含一个 simgle 方法 该方法返回字符串且不接受任何参数 我遇到的麻烦是
  • WPF 窗口关闭后不会释放内存

    我创建了一个测试代码 private void Application Startup 1 object sender StartupEventArgs e ShutdownMode System Windows ShutdownMode
  • 从 QML 实例化 C++ 对象会产生巨大的内存使用开销

    实例化一个QObjectC 堆中的派生类为每个对象提供了大约 160 个字节 通过注册相同的对象qmlRegisterType 用于从 QML 创建并通过以下方式动态创建对象createObject 每个对象给我 2000 多个字节 这是完
  • 如何将exe异常路由回VB6应用程序?

    我有一个 vb6 应用程序 它将调用 mencoder exe 它是 mplayer 的一部分 用于将某些文件转换为 flv 格式 每当我尝试转换这个 opendivx 文件时 我都会从 mencoder 收到这个奇怪的未处理异常问题 目前
  • JVM内存段分配

    好吧 我有一个关于 JVM 内存段的问题 我知道每个 JVM 都会选择稍微不同地实现这一点 但这是一个总体概念 在所有 JVM 中应该保持相同 一个在运行时不使用虚拟机执行的标准C C 程序在运行时有四个内存段 代码 堆栈 堆 数据 所有这
  • OpenCL 何时使用全局、私有、本地、常量地址空间

    我正在尝试学习 OpenCL 但我很难决定使用哪些地址空间 因为我只找到组装的资源声明这些地址空间是什么 但没有声明它们为什么存在或何时使用它们 资源至少太分散了 所以带着这个问题我希望把所有这些信息汇总一下 所有地址空间是什么 它们为什么
  • Java:为什么它使用固定数量的内存?或者它如何管理内存?

    JVM 似乎使用了一些固定数量的内存 至少我经常看到参数 Xmx 对于最大尺寸 和 Xms 对于初始大小 这表明 我感觉 Java 应用程序不能很好地处理内存 我注意到一些事情 即使一些非常小的示例演示应用程序也会加载大量内存 也许这是因为
  • 64 位大型 malloc

    malloc 失败的原因是什么 尤其是在 64 位中 我的具体问题是尝试在 64 位系统上分配一大块 10GB RAM 该机器有 12GB RAM 和 32GB 交换空间 是的 malloc 是极端的 但是为什么它会成为一个问题呢 这是在带
  • sizeof(某个指针)总是等于四吗?

    例如 sizeof char 返回 4 也是如此int long long 我尝试过的一切 这有什么例外吗 您得到的保证是sizeof char 1 没有其他保证 包括不保证sizeof int sizeof double 实际上 在 16
  • 用于从字符串安全转换的辅助函数

    回到 VB6 我编写了一些函数 让我在编码时无需关心字符串的 null 和 数字的 null 和 0 等之间的区别 编码时 没有什么比添加特殊情况更能降低我的工作效率了用于处理可能导致一些不相关错误的数据的代码 9999 10000 如果我
  • 在 C 中复制两个相邻字节的最快方法是什么?

    好吧 让我们从最明显的解决方案开始 memcpy Ptr const char a b 2 调用库函数的开销相当大 编译器有时不会优化它 我不会依赖编译器优化 但即使 GCC 很聪明 如果我将程序移植到带有垃圾编译器的更奇特的平台上 我也不
  • VB - 以隐式方式链接 DLL

    我正在开发 VB6 图形界面 并且需要隐式链接到 DLL 这样做的动机来自于我上一个问题 https stackoverflow com questions 5194573 有问题的 DLL 使用静态 TLS declspec thread
  • 如何在Windows下调试Python中的访问冲突内存问题?

    您建议使用哪些工具或流程来调试 ctypes 内存问题 为什么可以打印数组的内容但无法复制它 我已将问题范围缩小到以下几行 lots of code valid data as bytes bytearray self output buf

随机推荐

  • 将 PIL 图像转换为字节数组?

    我有一个 PIL 图像格式的图像 我需要将其转换为字节数组 img Image open fh mode r roiImg img crop box 现在我需要roiImg作为字节数组 感谢大家的帮助 终于解决了 import io fro
  • 无法建立新连接:[Errno 111] 连接被拒绝

    我正在尝试从路透社获取数据并获取如下代码 但我认为由于不断的请求 我无法抓取更多数据 有办法解决这个问题吗 我正在使用谷歌Colab 虽然类似的问题还有很多 但都没有答案 如果我能得到一些帮助 我将非常感激 谢谢 pip install s
  • 递归更改 JSON 键名称(全部大写)?

    有没有办法将所有 JSON 键名称更改为大写字母 eg name john Age 21 sex male place state ca 并需要转换为 NAME john AGE 21 SEX male PLACE STATE ca 从你的
  • 确定哪些行导致查询错误

    我有一个包含 15 000 行的 Oracle 18c 表 作为测试 我尝试对其运行以下查询 select works for all rows sdo util to wkbgeometry sdo geometry replace sd
  • postgres 外键是否意味着索引?

    我有一个 postgres 表 我们称这个表为Events 与另一个表的复合外键 让我们调用这个表Logs 事件表如下所示 CREATE TABLE Events ColPrimary UUID ColA VARCHAR 50 ColB V
  • 生成详细输出的良好做法是什么?

    生成详细输出的良好做法是什么 目前 我有一个功能 bool verbose int setVerbose bool v errormsg verbose v if verbose v return 0 else return 1 每当我想生
  • 灵活地移动现有领域/行为[重复]

    这个问题在这里已经有答案了 如何将现有字段 IDublinCore rights 移动到特定字段之后的另一个字段集中 无需编写我自己的行为 IDublinCore 的副本 Rights 字段应出现在 image caption 自己的内容类
  • 如何向 QFileSystemModel 添加自定义角色

    我想向 QFileSystemModel 添加自定义角色 可能是派生模型 我想使用此角色来保存复选框的选中状态 该状态显示在自定义委托中的文件名旁边 如何才能做到这一点 我已经使用过使用示例Qt Quick Controls 文件系统浏览器
  • 将 onPostExecute 应用于 onClickListener

    我已经制作了可以使用的程序AsyncTask它在程序执行时打印 JSON 数据列表 但问题是我希望它在按下按钮时执行 我如何得到结果AsyncTask进入我的onClickButtonListener 如何从 onClick 调用 Asyn
  • 如何使用并行插入语句在 MySQL 表中插入巨大的 Pandas Dataframe?

    我正在开发一个项目 其中我必须编写一个包含数百万行和大约 25 列 大部分为数字类型 的数据框 我在用Pandas DataFrame 到 SQL 函数 https pandas pydata org pandas docs version
  • 如何在 Excel 工作表中插入锁定符号

    这个问题在这里已经有答案了 我知道锁符号 的unicode是128275 When I copy this symbol from the browser and paste into excel it appears like this
  • Android API 21 创建自定义主密钥

    我正在尝试创建一个加密的SharedPreferences实施 但给出的例子安卓网站 https developer android com topic security data适用于 API 23 及以上版本 具体来说 问题是使用此代码
  • 什么是双因素身份验证?

    我的任务是寻找和评估一些用于我们的产品之一的身份验证库 某些解决方案推动的销售功能之一是 双因素身份验证 这个方法是什么 它是如何工作的 是否有更好的方法 我猜是三因素身份验证 双因素身份验证是使用两个因素来验证一个人 或有时是一个进程 这
  • 在其他方法中使用 __construct() 中的变量

    我定义了一个新变量 construct 我想在另一个地方使用它function这个的class 但我的变量在另一个函数中是空的 这是我的代码 class testObject function construct global c data
  • 以下 C# 代码出现不一致的可访问性错误。为什么?

    下面的c 代码有什么问题吗 编译器报告此错误 可访问性不一致 参数类型 ClassLibrary1 Interface1 比方法 ClassLibrary1 Class1 Class1 ClassLibrary1 Interface1 的可
  • 如何以编程方式将作业添加到 hudson 的视图中

    我有一个 Java 程序 用于控制一组 hudson 服务器自动生成的作业 使用 hudson 远程 API 创建 删除或更新作业 配置 是没有问题的 我还设法创建哈德逊视图并为哈德逊视图创建一个新作业 但我仍然需要知道如何将现有作业添加到
  • 子集不是基于精确匹配,而是基于 R 中的部分匹配

    这是这里的后续问题 根据前缀和后缀对字符串进行子集化 https stackoverflow com questions 21407361 subsetting a string based on pre and suffix 当你有这个命
  • TinyMCE 4 禁用清理 html

    如何在 TinyMCE 4 x 中禁用 HTML 代码的自动清理 当我从 WORD 复制文本时 TinyMCE 会删除样式 tinyMCE init cleanup false verify html false
  • UIView drawHierarchy 创建黑色图像

    我正在尝试转换我的习惯UIView into UIImage使用核心图形 但有时它会变成黑色 我的整个UIImage看起来像黑色图像 我注意到如果我的身高UIView无论生成的宽度是多少 都超过 4096UIImage会变黑 注1 我的习惯
  • VB6 内存限制

    我目前正在支持一个在多台服务器上运行的 VB6 应用程序 我们正在替换该应用程序 但这是一个缓慢的过程 谁能告诉我VB6进程可以寻址的最大内存量是多少 我们正在使用多种操作系统 Windows Server 2003 32位 Windows