gpt4 book ai didi

delphi - 在使用运行时包构建时,如何让我的程序使用更少的内存?

转载 作者:行者123 更新时间:2023-12-03 18:15:23 29 4
gpt4 key购买 nike

我总是编译我的 delphi 应用程序时不使用“使用运行时包构建”,但是对于我的最新项目我不得不使用它(因为它开始一天比一天膨胀)。我使用一些第三方 VCL(带源代码的 TMS 组件包,源代码目录也在搜索路径中),

当我使用带有运行时包的构建进行编译时,应用程序在运行时使用整个 bpl 包(否则它只会将包内所需的 vcl 编译到应用程序中)所以我认为它消耗了很多 ram 内存(通常我的应用程序使用 38 Mb ram 但现在是 62 Mb(根据 Windows 任务管理器,不仅是 tms 我还使用了许多其他 vcl)。

有没有什么方法可以让我的应用程序消耗低内存,就像它被编译为单个 exe 一样。

(我知道只用需要的 vcl 重新编译 VCL 包(我有源代码)但是挖掘源代码并找出所需的 vcl 和子程序太难了)

最佳答案

我认为您测量的是错误的东西。尽管包 files 更大,但这并不一定意味着您的程序在 RAM 中占用更多空间。编译器必须将所有函数和单元的代码包含在一个包中,无论任何给定程序使用哪个部分,但这并不意味着所有代码都加载到内存中。操作系统将加载它需要的页面;其余的将继续驻留在磁盘上,在它来自的 BPL 文件中。整个 BPL 文件将占用地址空间,但不会加载到物理 RAM 中,因此无需担心,除非您真的有使用整个 2 GB 地址空间的危险操作系统授予您的进程。

关于delphi - 在使用运行时包构建时,如何让我的程序使用更少的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4118231/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com