이것은 프로덕션 코드가 아니며 단위 테스트 용입니다.암시 적으로 링크 된 DLL을 명시 적으로 연결 해제 할 수있는 방법이 있습니까?
DLL_PROCESS_DETACH 이벤트에서 리소스를 해제하는 레거시 DLL이 있습니다. 정적 변수의 소멸자가 DLL에 매핑되지 않은 리소스 (매달린 참조)에 액세스하려고했기 때문에 실행 가능 파일의 정적 파괴 단계에서 충돌 시나리오가 발생했습니다.
단위 테스트에서이 충돌 시나리오를 재현하여 수정했음을 증명할 수 있습니다.
나는 당신이 대답 한 것과 정확히 일치하는 내 자신의 질문에 답변하려고했으나, 먼저 그것을 테스트하고 싶었습니다. GetModuleHandle() 및 FreeLibrary() 함께 내 DLL을 찾을 수있게 된 것처럼 보입니다. TRUE를 반환합니다 ... 이제 DLL이 실제로 언로드되었는지 확인하려고합니다. – paxos1977
@ceretullis Excellent :-) 그것이 실제로 작동하는지 알려주세요! –
@ceretullis 나는 그것을 받아 들일 수없는 unaccept에서 가져가? –