以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  使用vba计算内存占用很高  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=94956)

--  作者:microsoft
--  发布时间:2016/3/21 10:08:38
--  使用vba计算内存占用很高
只是使用vba计算,定义了不少数组,然后运行的时候内存一直在狂飙,才半个多小时就到了8G,
没有使用对象之类的,定义了较多的数组,会造成内存泄漏吗?
因为使用的预警功能,停止了预警也不见内存减少。
预警三十多个合约,8个周期,算起来大概有两百多个。

--  作者:admin
--  发布时间:2016/3/21 11:39:51
--  

检查你的代码是不是死循环了,是不是数组一直在不断扩充。

没看到你的代码,不好帮你详细解决问题


--  作者:microsoft
--  发布时间:2016/3/21 15:15:47
--  
因为正确输出了结果,所以应该不存在死循环的问题。
--  作者:jinn
--  发布时间:2016/3/21 15:49:51
--  
应该是有东西没释放吧?
--  作者:microsoft
--  发布时间:2016/3/21 16:10:10
--  
只用redim定义了数组
--  作者:jinn
--  发布时间:2016/3/21 18:15:03
--  
什么类型数组?
--  作者:microsoft
--  发布时间:2016/3/21 19:14:59
--  
dim bo_begin \'波段开始的位置数组
dim bo_end \'波段开始的位置数组
redim bo_begin(bdNum),bo_end(bdNum) 
类似这样,存放数值类型数据

--  作者:马良
--  发布时间:2016/3/21 19:56:29
--  
看一下变量的数组大小你设置了多少,学会基本的调试技巧,学会使用排除法查找问题。
注意数组变量的作用域。不懂找度娘
[此贴子已经被作者于2016/3/21 19:58:48编辑过]

--  作者:microsoft
--  发布时间:2016/3/22 11:17:31
--  
数组长度可控(几或者数十,返回参数长度几十,其它为几),作用域都是function内部