일부 DLL을 공유 DLL로 옮깁니다 (일부는 Windows 후크라고 말하고 싶습니다).DLL의 델파이 finalizalization 코드
실제 기능은 현재 unit
이며, 일부 코드는 initialization
이고 일부는 finalization
입니다.
나는 처음에 unit
에서 library
으로 직접 변환하는 것을 고려하고있었습니다. 그래서 begin
과 end.
사이에 initialization
코드를 이동했습니다. 그런데 finalization
코드를 옮길 곳이 없다는 것을 깨달았습니다. 대신 특수 DLL 진입 점을 만들고 등록해야합니다.
내 질문입니다. unit
의 모든 기능과 함께 initialization
및 finalization
코드를 남겨두고 uses
단위 인 library
스텁을 만들면됩니까? finalization
이 호출됩니까?
+1. 간단히 말해서 파이널 라이 제이션 섹션 *의 코드가 호출되지만 OS 로더 잠금으로 인해이 코드가 필요하지 않을 수 있습니다. 가능한 교착 상태 피하기 : 호스트 프로세스가 호출 할 수 있도록 명시 적 초기화 및 종료 함수를 내 보냅니다. –
Old New Thing이 이유를 설명합니다. http://blogs.msdn.com/b/oldnewthing/archive/2004/01/27/63401.aspx –
@Jeroen 그 기사에 연결하려고했는데, 큐 레이트의 달걀과 레이몬드 링크가 MS 링크 썩음에 의해 먹은 것으로 보이는 기사. 내가 찾은 최고의 참조 http://www.microsoft.com/whdc/driver/kernel/DLL_bestprac.mspx –