gpt4 book ai didi

vba - 释放内存: How to delete variables once am don with them- VBA VB ACCESS

转载 作者:行者123 更新时间:2023-12-02 21:46:08 27 4
gpt4 key购买 nike

如何释放内存?

假设我有一个字符串

  Dim TestStri As String
TestStri = "Test"

' What do i have to type up to get rid of the variable?

' I know
TestStri = Nothing
' will give it the default value, but the variable is still there.

我可以对其他变量(例如 Long、int 等)使用相同的方法吗?

最佳答案

我假设您指的是标题所示的 VB6 和 VBA,而不是关键字所示的 VB.Net。

在 VB6 和 VBA 中,字符串变量的内存消耗由字符串长度的固定部分和终止符以及字符串内容本身的可变长度部分组成。请参阅http://www.aivosto.com/vbtips/stringopt2.html#memorylayout对此有一个很好的解释。

因此,当您将字符串变量设置为空字符串或 vbNullString 时,您将释放字符串的可变部分,但不会释放固定部分。

其他类型(例如 long、int、bool 和 date)会消耗固定数量的内存。

你不能完全“释放”VB中的局部变量(想一想,有没有任何编程语言可以做到这一点?),并且在大多数情况下,你不会关心,因为局部变量它们本身(固定部分)通常非常小。
我能想到的局部变量的内存消耗可能会变大的唯一情况是,如果您有深度递归/宽递归的递归函数调用。

关于vba - 释放内存: How to delete variables once am don with them- VBA VB ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12613834/

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