DLL
DLL(동적 연결 라이브러리)은 여러 함수의 공유 라이브러리로 사용되는 실행 파일입니다. 동적 링크를 사용하여 프로세스에서 해당 프로세스의 실행 코드에 포함되지 않은 함수를 호출할 수 있습니다. 함수의 실행 코드는 DLL에 있으며, DLL에는 이것을 사용하는 프로세스와는 별도로 컴파일, 링크 및 저장되는 하나 이상의 함수가 포함되어 있습니다. DLL을 사용하여 데이터와 리소스를 쉽게 공유할 수 있습니다. 즉, 여러 개의 응용 프로그램이 메모리에 있는 하나의 DLL 복사본 내용을 동시에 액세스할 수 있습니다.
동적 링크는 DLL 함수의 실행 코드를 찾기 위해 런타임에 필요한 정보만을 실행 모듈(.DLL 또는 .EXE 파일)에 포함한다는 점에서 정적 링크와 다릅니다. 정적 링크에서는 링커가 정적 연결 라이브러리에서 참조되는 모든 함수를 가져와서 코드와 함께 실행 파일 안에 포함시킵니다.
정적 링크 대신 동적 링크를 사용하는 데에는 몇 가지 장점이 있습니다. DLL을 사용하면 메모리 절약, 스와핑 감소, 디스크 공간 절약, 용이한 업그레이드, 출시 후 지원 제공, MFC 라이브러리 클래스를 확장할 수 있는 메커니즘 제공, 여러 가지 언어 형식의 프로그램 지원, 용이한 국가별 버전 생성 등의 이점이 있습니다.
다음 항목에서는 DLL 프로그래밍에 대한 자세한 정보를 제공합니다.
단원 내용
연습: 동적 연결 라이브러리 만들기 및 사용(C++)
Visual Studio를 사용하여 DLL을 만들고 사용하는 방법에 대해 설명합니다.응용 프로그램과 DLL의 차이점
응용 프로그램과 DLL 사이의 기본적인 차이점을 설명합니다.DLL 사용의 장점
동적 연결의 장점을 설명합니다.DLL 관련 질문과 대답
DLL 관련 질문과 대답을 제공합니다.DLL에 실행 파일 링크
DLL에 대한 명시적 및 암시적 링크에 대해 설명합니다.DLL 초기화
DLL이 로드될 때 실행되어야 하는 메모리 할당과 같은 DLL 초기화에 대해 설명합니다.런타임 라이브러리 동작
런타임 라이브러리가 DLL 시동을 순서대로 수행하는 과정을 설명합니다.LoadLibrary 및 AfxLoadLibrary
LoadLibrary 및 AfxLoadLibrary를 사용한 명시적 DLL 링크에 대해 설명합니다.GetProcAddress
GetProcAddress를 사용하여 DLL의 내보낸 함수 주소를 얻는 방법에 대해 설명합니다.FreeLibrary 및 AfxFreeLibrary
DLL 모듈이 더 이상 필요하지 않을 경우의 FreeLibrary 및 AfxFreeLibrary 사용에 대해 설명합니다.Windows에서 DLL을 찾는 데 사용되는 검색 경로
시스템에서 DLL을 찾기 위해 Windows 운영 체제가 사용하는 검색 경로에 대해 설명합니다.동적으로 MFC에 링크하는 기본 DLL의 모듈 상태
MFC에 동적으로 연결된 기본 DLL의 모듈 상태에 대해 설명합니다.확장 DLL
기존 MFC 라이브러리 클래스에서 파생된 다시 사용할 수 있는 클래스를 구현하는 DLL에 대해 설명합니다.리소스 전용 DLL 만들기
아이콘, 비트맵, 문자열 및 대화 상자 등의 리소스만 포함된 리소스 전용 DLL에 대해 설명합니다.MFC 응용 프로그램의 리소스 지역화: 위성 DLL
여러 언어로 지역화된 응용 프로그램을 만드는 데 도움이 되는 위성 DLL에 대한 향상된 지원을 제공합니다.가져오기 및 내보내기
DLL에서 함수를 내보내거나 응용 프로그램으로 공용 기호를 가져오는 방법에 대해 설명합니다.액티브 기술 및 DLL
DLL 내에서 개체 서버가 완전히 구현되도록 합니다.DLL의 자동화
MFC DLL 마법사 지원의 자동화 옵션이 무엇인지 설명합니다.MFC DLL의 명명 규칙
MFC에 포함된 DLL 및 라이브러리가 구조적 명명 규칙을 지키는 방법에 대해 설명합니다.Visual Basic 응용 프로그램에서 DLL 함수 호출
Visual Basic 응용 프로그램에서 DLL 함수를 호출하는 방법에 대해 설명합니다.
관련 단원
DLL의 일부로 MFC 사용
Windows 동적 연결 라이브러리의 일부로 MFC 라이브러리를 사용할 수 있게 하는 기본 DLL에 대해 설명합니다.MFC의 DLL 버전
MFC 응용 프로그램 및 확장 DLL과 함께 MFCxx.dll 및 MFCxxD.dll(여기서 x는 MFC 버전 번호) 공유 동적 연결 라이브러리를 사용하는 방법에 대해 설명합니다.Visual C++ 프로그래밍 방법론
Visual C++ 라이브러리에 대한 개념적인 정보를 설명하는 항목 및 다양한 코딩 기술 및 기법을 설명하는 항목에 대한 링크를 제공합니다.