나는 응용 프로그램이로드 될 때 동적 링크 라이브러리가 메모리에로드된다는 것을 알고 있으며 운영 체제 로더에 의해 참조가 해결됩니다. 예를 들어 Windows kernel32.dll, user32.dll 및 gdi32 dll에서 내 응용 프로그램이 kernel32.dll (예 : CreateWindow)의 함수를 참조하면 전체 DLL이 프로세스에로드되거나 아니면 dll?동적 링크 라이브러리
감사합니다.
나는 응용 프로그램이로드 될 때 동적 링크 라이브러리가 메모리에로드된다는 것을 알고 있으며 운영 체제 로더에 의해 참조가 해결됩니다. 예를 들어 Windows kernel32.dll, user32.dll 및 gdi32 dll에서 내 응용 프로그램이 kernel32.dll (예 : CreateWindow)의 함수를 참조하면 전체 DLL이 프로세스에로드되거나 아니면 dll?동적 링크 라이브러리
감사합니다.
하나의 기능을 참조하면 전체 DLL을 얻게됩니다. DLL의 일부만로드 할 수 없습니다.
누군가의 홈 디렉토리를 찾기 위해 모든 Shell32.dll을 얻으므로 귀찮습니다. 한숨.
모든 것이지만 걱정하지 마십시오. dll을 반복해서 다시로드하지는 않습니다. 사용하는 모든 프로그램에 대해 하나의 인스턴스가 있습니다 .... dll의 다른 이름은 너무 .... 공유 객체, 그게 전부 요점입니다. 이러한 DLL 년대의 대부분은 표준 및 혼자가, 바로 그 이유는 왜 특정 기능을 동적과 해당 DLL에서 사용
만 기능, 메모리를 경련에 대해 걱정하지 마십시오, 필요 귀하의 코드를 사용하여, 전체 dll로드되지 않습니다.
호프가 도움이 되었으면 안녕하세요, 탐.
DLL을 "로드"할 때 걱정할 필요가 없습니다. 실제로는 매핑 된 메모리 파일입니다. Windows OS는 페이지 폴트 메커니즘을 사용하여 요청시 페이지를 가져옵니다. 그래서 DLL의 작은 부분 만 사용한다면 실제로 모든 것을 잘못 처리하지는 않을 것입니다.