dll을 언로드하는 방법 - 페이지 11

 
AlexEro >> :

나는 그 문제가 반드시 MT 테스터에 있는 것은 아니라고 제안하려고 노력할 것입니다. MT 테스터가 어떻게든 시작 부분에 LoadLibrary 주기를 갖고 ... 끝에 FreeLibrary가 있고 이 주기가 여러 번 실행되면 Windows는 더 나은 시간이 될 때까지 어리석게도 DLL을 메모리에 잠그고 해제할 조치를 취하지 않을 것입니다. , 그러나 그것들을 모방할 뿐입니다. 이것은 일반적으로 사용되는 라이브러리를 캐시하기 위해 Windows에서 수행됩니다.


무엇이든 가정할 수 있지만 간단한 실험 결과 dll이 테스터에서 언로드되었음을 알 수 있습니다. 왜 이러한 모든 발명품이 명확하지 않습니다. 테스터가 닫히지 않으면 예, dll이 중단되지만 테스터가 닫힌 후에는 해제됩니다. 적어도 저에게는 그렇습니다.

 
HideYourRichess >> :

무엇이든 가정할 수 있지만 간단한 실험 결과 dll이 테스터에서 언로드되었음을 알 수 있습니다. 이 모든 발명품이 왜 그런지는 분명하지 않습니다. 테스터가 닫히지 않으면 예, dll이 중단되지만 테스터가 닫힌 후에는 해제됩니다. 적어도 저에게는 그렇습니다.


오, 끔찍한 생각이 떠올랐습니다. 아마도 HideYourRichess가 MT4에서 해당 DLL 언로드 블록을 작성한 MetaQuotes 직원일 것입니다. 더 이상 질문이 없습니다. 그것이 그를 위해 작동하기 때문에 다른 사람들은 단순히 작동해야합니다.

 
가난한 프로그래머에 대한 MT 개발자의 음모 이론이 시작되었습니다.
 

그리고 직접 확인했습니다 . 이 특별한 경우 테스터는 가장 간단한 jartmailru DLL을 보유하고 있습니다. 범고래인 그녀를 강하게 안고 가만 두지 않는 대적. 정상적이고 이해할 수 있는 일입니다.

Process Explorer(플러그인 포함)는 하드 언로드를 통해 이를 언로드합니다.

Unlocker 1.8.7은 전혀 작동하지 않습니다(?).

그건 그렇고, 라이브러리가 COM + 2.0을 사용하고 심지어 다중 스레드(즉, 앞서 말했듯이 복잡함)를 사용하는 경우 Microsoft는 실제 언로드에 대해 10분 지연을 나타냅니다. 릴리스 기능:


CoFreeUnusedLibraries 는 활성 개체가 없는 DLL을 즉시 해제하지 않습니다. MTA(다중 스레드 아파트) 및 NA(중립 아파트)에는 10분 지연이 있습니다. 단일 스레드 아파트(STA)의 경우 지연이 없습니다. CoFreeUnusedLibraries 의 10분 지연은 구성 요소 DLL을 언로드하여 발생하는 다중 스레드 경합 상태를 방지하기 위한 것입니다.

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

 
HideYourRichess >> :

나는 거기에서 뭔가가 당신에게 효과가 없다고 쉽게 믿지만 의심스러운 dll을 시작하지 않았습니다. VC8.0에서 VC6.0으로 컴파일하기에는 너무 게으릅니다. 나는 또한 호환성에 사용되는 crt 버전을 확인하기에는 너무 게으르다. 일반적인 스포트라이트에서 dll이 msvcr80에 연결되어 있고 예제에서는 msvcrt가 사용된 것을 볼 수 있습니다. 사소하지만 유쾌하지는 않습니다. 글쎄, 등등.

이 사실만이 이 사건과 아무 상관이 없습니다, Mr. Slippery.

스크립트를 사용하면 모든 것이 언로드됩니다.

오 ... 다시 불명예 :-).

괜찮습니다.

이제 다음과 관련하여:

HideYourRichss >> :

무엇이든 가정할 수 있지만 간단한 실험 결과 dll이 테스터에서 언로드되었음을 알 수 있습니다. 이 모든 발명품이 왜 그런지는 분명하지 않습니다. 테스터가 닫히지 않으면 예, dll이 중단되지만 테스터가 닫힌 후에는 해제됩니다. 적어도 저에게는 그렇습니다.

잘.

그 남자는 시험을 봤다.

현실 세계에 오신 것을 환영합니다!

.

테스터 패널의 닫힘을 확인했습니다.

메타 트레이더에 얼마나 많은 똑똑한 것들이 프로그래밍되어 있기 때문입니다!

사실, 이러한 Dll-ek의 개발 주기를 고려하지 않은 것은 사실이지만 이는 사소한 일입니다.

작업에서만 전체 메타 트레이더를 닫는 것이 더 쉽습니다 :-).

.

가장 중요한 것은 테스터 패널의 폐쇄를 명백한 사실과 주장으로 내세울 필요가 없습니다.

상대를 "채워야" 하는 경우에는 연구원의 재능이 있지만,

당신은 확실히 가지고 있습니다. 현재 부하 직원이 몇 명입니까?

.

원본의 문구는 다음과 같아야 합니다.

테스터는 메타 트레이더가 닫힐 때까지 Dll을 유지합니다.

분명하지 않은 움직임을 만들고 테스터 패널을 닫지 않는 한 :-).

.

총계: Dll로 테스터 패널을 닫지 않으면 다른 모든 사람들과 마찬가지로 오류가 발생합니다! :피

 

Process Explorer(플러그인 포함)는 테스터가 있더라도 하드 언로드를 통해 여전히 언로드합니다.

PrExpl을 통해 DLL을 언로드한 후 테스터를 다시 시작해도 문제 없습니다. 즉, 개인적으로 이 불편함(이런 불편함)을 기능이 아닌 테스터 결함으로 분류하고 싶습니다. 진지한 사람들은 DLL을 다른 창에서 조각할 것입니다. 왜 다른 창으로 이동하여 닫고 열어야 합니까?

 
AlexEro >> :

그리고 직접 확인했습니다. 이 특별한 경우 테스터는 가장 간단한 jartmailru DLL을 보유하고 있습니다. 범고래인 그녀를 강하게 안고 가만 두지 않는 대적. 정상적이고 이해할 수 있는 일입니다.


이것은 누구의 칸트입니까? 비뚤어진 프로그래머라고 생각합니다. 다른 프로그래머의 다른 dll은 그렇게 하지 않기 때문입니다.

 
HideYourRichess >> :

이것은 누구의 칸트입니까? 비뚤어진 프로그래머라고 생각합니다.

무슨 말이야, 삼촌? 그녀는 FreeLibrary에서 다운로드하지 않는 MT - MQ의 TESTER를 들고 있습니다. Shozh 당신은 당신의 회사에 운전? 그 자신이 이 잼을 썼고 이제 포럼에서 우리에게 물어보시죠?

 

(1940-1950년대의 스탈린주의 선구자 영화에서와 같이 경쾌한 유치한 목소리로)

얘들아! MetaQuotes를 돕자! MQL4용 프로그램을 직접 작성하는 것이 더 쉬울 것입니다! HideYourRichess라는 별명으로 MetaQuotes의 수석 프로그래머에게 DLL이 어떻게 정렬되고 어떻게 로드되고 언로드되고 DLL이 작동하는지 알려드리겠습니다! 하자? 하지만?! 나는 그것을 투표에 넣었다. 누구를 위한 것인지 - 손을 들어 Windows 메시징 서비스를 제공하십시오.

 

바보.