如何卸载dll - 页 11

 
AlexEro >> :

我猜想,这不一定是关于MT测试员的问题。如果MT测试器在开始时有一个LoadLibrary循环 ...FreeLibrary在最后,而且这个循环执行了很多次,那么Windows就会把DLL锁定在内存中,直到更好的时候,不会想到要做什么来释放它,而只是模仿它。在Windows中这样做是为了缓存经常使用的库。


你可以假设任何你喜欢的东西,但一个简单的实验结果表明,dll从测试器中卸载。为什么会有这些虚构的东西,这一点并不清楚。如果你不关闭测试器,那么是的,dll会挂起,但当你关闭测试器时,它就被释放了。至少在我的情况下是这样。

 
HideYourRichess >> :

你可以假设任何事情,但一个简单的实验结果表明,dll从测试器中被卸载。我不明白为什么会有这些捏造的东西。如果你不关闭测试器,那么是的,dll会挂起,但当你关闭测试器时,它就被释放了。至少对我来说是这样的。


哦,我有一个可怕的想法 - 也许HideYourRichess是MetaQuotes的雇员,他在MT4中写了那块DLL的上传?然后就没有问题了。如果它对他有效,那么它一定对其他人有效。

 
一个MT开发者对可怜的程序员的阴谋论是有道理的。
 

而且我自己也检查过了--在这种特殊情况下, 一个简单的jartmailru DLL被测试者持有。它抱得很紧,我的小蝌蚪,不会让它进来,恶魔。不过,这也是正常的,可以理解的。

进程资源管理器(有插件)当然也会卸载它--通过硬卸载。

Unlocker 1.8.7完全不工作(?)

顺便说一下,如果该库使用COM+2.0,而且是多线程的(这很复杂,正如我之前说的),那么微软表示其/他们真正的卸载要延迟10分钟,尽管我们正在谈论另一个发布功能。


CoFreeUnusedLibraries 不会立即释放没有活动对象的DLLs。多线程公寓(MTA)和中性公寓(NA)会有十分钟的延迟。对于单线程公寓(STA),没有延迟。CoFreeUnusedLibraries 的10分钟延迟是为了避免因卸载组件DLL而引起的多线程竞赛条件。

http://support.microsoft.com/kb/301357

 
HideYourRichess >> :

我愿意相信那里有问题,但我没有运行你的可疑的dll。我懒得把它从你的VC8.0编译成VC6.0。我也懒得去检查你使用的crt的版本是否兼容。你可以在通常的头灯中看到,你有一个链接到msvcr80的dll,但这个例子使用了msvcrt。一件小事,但并不美好。等等。

只有这个事实是不相关的,滑头先生。

有了这个脚本--一切都被卸下了。

哎呀...又出糗了:-)。

但这没关系。

现在是相对的。

HideYourRichess>>

你可以假设任何事情,但一个简单的实验结果表明,来自测试器的数据包是无负荷的。为什么有这些虚构的东西,我不明白。如果你不关闭测试器,dll将被挂起,但在你关闭测试器后,它被释放了。至少我是这样。

你去吧。

该男子得到了测试。

欢迎来到现实世界!

.

检查了测试器面板的关闭情况。

那么,在MetaTrader中,有多少聪明的东西被编程了!?

的确,没有考虑到这些非常Dlls的开发周期--但这是小事。

但在操作中关闭整个MetaTrader比较容易 :-)。

.

最重要的是:你不必把测试员小组的关闭作为一个明显的事实和论据提出来。

虽然在需要 "拿下 "对手的情况下,你作为研究者的才能。

你无疑是有的。你说你目前有多少个下属?

.

原文中的这句话听起来应该是这样的。

测试器将保持Dll,直到metatrader关闭------。

除非你做出一个不明显的举动,关闭测试器面板:-)。

.

一句话:如果你没有用你的Dll关闭测试器面板--它和其他人一样有bug!:-P

 

进程资源管理器(带插件)当然还是会卸载,即使是用测试器--通过硬卸载。

通过PrExpl卸载DLL后重新启动测试器--没有问题。也就是说,就我个人而言,我宁愿把这种不方便(让我们这样称呼它)归为测试人员的小毛病,而不是一个功能。严肃的人将在不同的窗口中创建他们的DLL,为什么他们会跳来跳去,关闭它们,打开它们?

 
AlexEro >> :

我自己也检查过了--在这种特殊情况下,jartmailru的一个简单的DLL被测试者持有。测试员把它抱得很紧,不让它进去,恶魔。但这是正常的,可以理解的。


这是谁的错? 我认为是程序员的错。因为另一个程序员的另一个dll并没有这样做。

 
HideYourRichess >> :

>> 这是谁的错? >> 我认为这是一个歪曲的程序员。

你是什么意思,叔叔?它由MT--MQ的测试者持有,它没有从FreeLibrary中卸载它。你为什么要在你的公司上拉屎?你自己写了这个错误,现在却在论坛上问我们?

 

(用孩子的声音,就像1940-1950年代斯大林的先锋电影中那样)

伙计们,让我们帮助MetaQuotes!这将使我们更容易编写MQL4程序!让我们告诉MetaQuotes的主要程序员,名叫HideYourRichess,DLLs是如何安装、加载、卸载和运行的我们可以吗?А?!我把它付诸表决。赞成的人请举手,窗口信息服务。

 

白痴。