从专业人员到超级专业人员的任何问题 - 1。 - 页 29 1...222324252627282930313233343536...45 新评论 Vadim Zhunko 2011.09.10 09:11 #281 sergeev: 当关闭一个句柄时,内存(已经分配了超过CreateFileMapping中指定的内存)是不是不会再恢复了? 它被释放出来了。但这是在最后。我们需要在运行时节省内存。 --- 2011.09.10 09:46 #282 在什么情况下?"胜利结束 "或 "少数人结束 "或 "申请结束"? Vadim Zhunko 2011.09.10 10:44 #283 sergeev: 在什么情况下?"胜利结束 "或 "少数人结束 "或 "申请结束"? 任意一个都可以选择。不过,这也是结局。 --- 2011.09.10 11:04 #284 啊,好吧,如果是关闭头文件,那么我不认为有任何内存泄漏,这是Windows在删除头文件时释放内存的正常方式。 Vadim Zhunko 2011.09.10 11:47 #285 在运行中通过关闭描述符来释放内存,这在某种程度上是错误的。 记忆应该被释放,而不是希望Windos。 --- 2011.09.10 12:30 #286 你分配的所有东西都被删除了。 MSDN的Mapping并没有说在关闭处理程序之前要手动释放内存。 Vadim Zhunko 2011.09.10 15:28 #287 sergeev: 你分配的所有东西都被删除了。 MSDN的Mapping并没有说在关闭处理程序之前要手动释放内存。 好吧,我不是说在关闭手柄之后。在处理内存时,我们需要动态地调整其大小。但你不必一直这样做。不断地重新分配需要时间。 --- 2011.09.10 16:34 #288 瓦迪姆,我们到底在解析什么? 我发现有两种方法 可以扩大内存。 你认为在这两种情况下都会有内存泄漏的问题吗? Vadim Zhunko 2011.09.10 17:25 #289 如果所有的描述符都关闭,就没有泄漏。泄漏是指程序被卸载但留下资源被占用。 但可能存在内存消耗过大的问题。不久前,我自己也有这样的问题。我连接了用于处理时间序列的错误类。我添加了一个以秒为单位索引刻度的类。开始用这个班级来处理月球棒。它在30秒内吃掉了所有的内存。这是其中一个可能的变体。我们应该监督这类事情,并对其提出警告。 第二种情况是程序需要大量的内存,例如1000Mb,但不是长时间的。如果你不释放它,其他程序将少1000MB,直到你的程序被卸载。 简而言之,你需要跟踪资源消耗情况。 --- 2011.09.10 17:50 #290 好的,我会考虑到这一点。 1...222324252627282930313233343536...45 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
当关闭一个句柄时,内存(已经分配了超过CreateFileMapping中指定的内存)是不是不会再恢复了?
在什么情况下?"胜利结束 "或 "少数人结束 "或 "申请结束"?
在运行中通过关闭描述符来释放内存,这在某种程度上是错误的。
记忆应该被释放,而不是希望Windos。
你分配的所有东西都被删除了。 MSDN的Mapping并没有说在关闭处理程序之前要手动释放内存。
瓦迪姆,我们到底在解析什么?
我发现有两种方法 可以扩大内存。 你认为在这两种情况下都会有内存泄漏的问题吗?
如果所有的描述符都关闭,就没有泄漏。泄漏是指程序被卸载但留下资源被占用。
但可能存在内存消耗过大的问题。不久前,我自己也有这样的问题。我连接了用于处理时间序列的错误类。我添加了一个以秒为单位索引刻度的类。开始用这个班级来处理月球棒。它在30秒内吃掉了所有的内存。这是其中一个可能的变体。我们应该监督这类事情,并对其提出警告。
第二种情况是程序需要大量的内存,例如1000Mb,但不是长时间的。如果你不释放它,其他程序将少1000MB,直到你的程序被卸载。
简而言之,你需要跟踪资源消耗情况。