gpt4 book ai didi

Delphi动态Dll - 全局变量

转载 作者:行者123 更新时间:2023-12-03 14:58:07 29 4
gpt4 key购买 nike

我正忙着编写一个 dll,为主机应用程序提供多种功能。该应用程序动态调用 dll,在每次函数调用后加载和释放它。

我无法控制主机应用程序。我只能在 dll 内使用。有没有办法可以将某些变量保留在内存中,以便我可以在每个函数中重用它们?显然,当主机应用程序卸载 dll 时,全局变量会被清除。将 dll 保存到文件听起来很困惑!

任何人都可以建议一种分配可以保持全局的变量的方法吗?

谢谢

最佳答案

我认为你有两个主要选择。

  1. 提供您的函数的 2 个版本,您现在拥有的一个,加上另一个版本,它们传入一个缓冲区(记录等),您可以从中读取以前的状态,当然也可以将状态更新到其中。将此称为该函数的高性能版本。他们会想要使用它。

  2. 像将 cookie(基本上就是这样)一样保存在某个文件中的状态。

选项 1 需要对主机应用进行修改,但对于主机应用开发人员来说很有吸引力,选项 2 不需要对主机应用进行任何更改,但性能较差。

我个人不会倾向于开始处理引用计数,大概主机应用程序正在卸载是有原因的,如果我是主机应用程序开发人员,那会让我烦恼。

关于Delphi动态Dll - 全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1042686/

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