以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  另一个关于历数分笔数据的问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=137139)

--  作者:stockwiner
--  发布时间:2016/7/27 9:07:01
--  另一个关于历数分笔数据的问题
最后在做股票历史分笔数据的导入工作,发现如下问题
由于是大批量长时段的读取的历史分笔数据,因此我在每一个个股数据读取结束后,我都按帮助 作了destory处理,用于释放空间。
但在实际运行中发现,空间实际并没有释放,而是隐藏式的占用了某一盘符的磁盘空间。用系统软件无法显示是哪个程序占用了该空间。
如此一来,当程序运行到没有磁盘空间时,会出错。此时,退出金字塔,磁盘空间仍无法释放,必须重启电脑才行。
但是,若程序能正常运行完毕(即没有碰到磁盘满这种错误),这部分占用的空间可以释放出来。

--  作者:yukizzc
--  发布时间:2016/7/27 9:20:57
--  
频繁的申请和释放内存,也会存在内存泄露。一般我们是刚开始申请一块足够大的内存,一直在使用这块内存的。你释放一块内存,虽然表面上你释放了,你下次申请一块比较大的内存的时候,因为你比释放的大,导致那块释放的无法用到,也就造成了内存碎片的。
申请内存的时候,操作系统会给你分配一块连续的内存。正是这个算法的原因,导致了很多的内存碎片

--  作者:stockwiner
--  发布时间:2016/7/27 9:30:23
--  
我当然知道这个原因。
我不相信C++会没有相应的处理机制。
我只是做到告知你们有这样的BUG