资料库: 无需 DLL 的文件映射 - 页 2 123456789...12 新评论 Mykola Demko 2012.01.16 18:44 #11 亚历克斯,当一个文件不再需要时,如何释放内存?我的意思是,这样我就不必因为可能有很多文件而占用几兆或几千兆内存了。 --- 2012.01.16 18:45 #12 CloseHandle 有帮助吗? Mykola Demko 2012.01.16 18:50 #13 sergeev: CloseHandle 有帮助吗?CloseHandle 在 Close() 内被调用,但它不会释放内存,重新打开(不创建)后就能获得保存的信息。这意味着内存已被占用。void CMemMapFile::Close() { if(m_hmem!=NULL) CloseHandle(m_hmem); m_path=""; m_hmem=NULL; m_size=0; m_pos=0; m_mode=-1; // 关闭句柄 } Mykola Demko 2012.01.16 18:58 #14 我认为最好将文件大小改为 0,以保证内存释放。可以通过 Grows 来增加文件大小,也可以通过添加 Delete 来将分配的内存清零,从而杀死文件。 Andrey Dik 2012.01.16 19:00 #15 谢谢。非常有必要。也许还有一个题外问题:文件映射能否在优化时使用外部基因(比如在终端运行的脚本)而不是标准基因? Mykola Demko 2012.01.16 19:09 #16 joo:谢谢。非常有必要。也许还有一个题外问题:文件映射能否在优化时使用外部基因(比如在终端运行的脚本)而不是标准基因?除非是半自动的,否则无论如何都得有人启动测试器并停止它(这是在打算使用 claud 的情况下)。如果没有 claude,使用测试仪就没有意义了。 --- 2012.01.16 19:18 #17 Urain:CloseHandle在Close()中被调用,但它不会释放内存,只要重新打开(不创建),就能找回保存的信息。我曾遇到过这种情况。写入程序会关闭句柄,而读取程序不会。但它可以读取数据。但在 Windows 中进行一些操作后,文件中的数据就会发生变化。这意味着 RAM 已满。 我不确定。 --- 2012.01.16 19:19 #18 joo:在优化时,文件映射是否可以调整为使用外部基因(例如在终端运行的脚本)而不是标准基因? 如果使用文件来存储中间数据,当然可以,但最重要的是在某些参考点将数据重置到磁盘上,因为一旦发生意外,信息就会不可挽回地丢失。 Mykola Demko 2012.01.16 19:21 #19 sergeev:我也遇到过这种情况。写入程序会关闭句柄,而读取程序不会。但它可以读取数据。但在 Windows 中进行一些操作后,文件中的数据就会发生变化。 我不确定。 我想我们需要以一种有保证的方式进行检查。但我不知道该怎么做。 Andrey Dik 2012.01.16 19:23 #20 Urain:除非是半自动的,否则无论如何都得有人来启动和停止测试仪(这是在您打算使用 claud 的情况下)。ZY,如果没有 claud,使用没有 claud 的测试仪就没有意义了。是的,claud.... 有问题。我的意思是,用户在图表上运行脚本,然后在测试器中开始优化(脚本开始 通过文件映射将必要变量 "滑入 "优化后的智能交易系统)。至于如何、何时以及在什么条件下停止优化,则是另一个问题(例如,当智能交易系统收到 "准备就绪 "标志时,智能交易系统的填料就会停止工作,因此测试器将在空闲模式下执行剩余的运行--这样它就会快速运行剩余的运行)。情况是这样的 123456789...12 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
亚历克斯,当一个文件不再需要时,如何释放内存?
我的意思是,这样我就不必因为可能有很多文件而占用几兆或几千兆内存了。
CloseHandle 有帮助吗?
CloseHandle 在 Close() 内被调用,但它不会释放内存,重新打开(不创建)后就能获得保存的信息。
这意味着内存已被占用。
我认为最好将文件大小改为 0,以保证内存释放。
可以通过 Grows 来增加文件大小,也可以通过添加 Delete 来将分配的内存清零,从而杀死文件。
谢谢。非常有必要。
也许还有一个题外问题:文件映射能否在优化时使用外部基因(比如在终端运行的脚本)而不是标准基因?
谢谢。非常有必要。
也许还有一个题外问题:文件映射能否在优化时使用外部基因(比如在终端运行的脚本)而不是标准基因?
除非是半自动的,否则无论如何都得有人启动测试器并停止它(这是在打算使用 claud 的情况下)。
如果没有 claude,使用测试仪就没有意义了。
CloseHandle在Close()中被调用,但它不会释放内存,只要重新打开(不创建),就能找回保存的信息。
我曾遇到过这种情况。写入程序会关闭句柄,而读取程序不会。但它可以读取数据。但在 Windows 中进行一些操作后,文件中的数据就会发生变化。
这意味着 RAM 已满。
joo:
在优化时,文件映射是否可以调整为使用外部基因(例如在终端运行的脚本)而不是标准基因?
我也遇到过这种情况。写入程序会关闭句柄,而读取程序不会。但它可以读取数据。但在 Windows 中进行一些操作后,文件中的数据就会发生变化。
我不确定。除非是半自动的,否则无论如何都得有人来启动和停止测试仪(这是在您打算使用 claud 的情况下)。
ZY,如果没有 claud,使用没有 claud 的测试仪就没有意义了。
是的,claud.... 有问题。
我的意思是,用户在图表上运行脚本,然后在测试器中开始优化(脚本开始 通过文件映射将必要变量 "滑入 "优化后的智能交易系统)。至于如何、何时以及在什么条件下停止优化,则是另一个问题(例如,当智能交易系统收到 "准备就绪 "标志时,智能交易系统的填料就会停止工作,因此测试器将在空闲模式下执行剩余的运行--这样它就会快速运行剩余的运行)。
情况是这样的