다음을 통해 공유


링커의 지연 로드된 DLL 지원

Visual C++ 링커는 현재 DLL의 지연 로드를 지원합니다. 이 기능을 사용하면 Windows SDK 함수 LoadLibraryGetProcAddress를 사용하여 지연 로드하는 DLL을 구현할 필요가 없습니다.

Visual C++ 6.0 이전에는 LoadLibraryGetProcAddress를 사용해야지만 런타임에 DLL을 로드할 수 있었습니다. 운영 체제는 실행 파일이나 실행 파일을 사용하는 DLL이 로드되었을 때 DLL을 로드합니다.

Visual C++ 6.0부터는 DLL과 정적으로 링크할 경우 프로그램이 해당 DLL의 함수를 호출할 때까지 링커가 DLL 로드를 지연하는 옵션이 제공됩니다.

응용 프로그램에서 /DELAYLOAD(가져오기 로드 지연) 링커 옵션을 도우미 함수(Visual C++에서 제공되는 기본 구현)와 함께 사용하여 DLL을 지연 로드할 수 있습니다. 도우미 함수는 LoadLibraryGetProcAddress를 호출하여 런타임에 DLL을 로드합니다.

다음과 같은 경우 DLL 지연 로드를 고려해야 합니다.

  • 프로그램이 DLL의 함수를 호출하지 않는 경우

  • 프로그램 실행이 거의 종료될 때까지 DLL의 함수를 호출하지 않아도 되는 경우

DLL 지연 로드는 .EXE 또는 .DLL 프로젝트를 빌드하는 동안 지정될 수 있습니다. 하나 이상의 DLL 로드를 지연시키는 .DLL 프로젝트는 Dllmain에서 지연 로드 진입점을 호출하지 않아야 합니다.

다음 항목에서 DLL의 지연 로드에 대해 설명합니다.

참고 항목

개념

DLL

링크