포스트

C++ 에서 dll 만들어서 사용하기(1) - dll(dynamic Link Library)란?

https://learn.microsoft.com/ko-kr/cpp/build/dlls-in-visual-cpp?view=msvc-170

Visual Studio에서 C/C++ DLL 만들기 Visual Studio에서 C++로 DLL을 만들고 사용하는 이유와 방법의 개요입니다. Visual Studio에서 C++로 DLL을 만들고 사용하는 이유와 방법의 개요입니다.

sticker

  • 정적 링크는 정적 라이브러리의 모든 개체 코드를, 빌드될 때 이 코드를 사용하는 실행 파일에 복사
  • 동적 연결에는 Windows가 런타임에 데이터 항목이나 함수를 포함하는 DLL을 찾아서 로드하는 데 필요한 정보만 포함
  • DLL과 애플리케이션은 모두 실행 가능한 모듈이지만 여러 가지 면에서 차이가 있음. 가장 확실한 차이점은 DLL은 자체적으로 실행할 수 없음
  • 애플리케이션에는 시스템에서 동시에 실행되는 자신의 인스턴스가 여러 개 있을 수 있음. DLL에는 하나의 인스턴스만 있을 수 있음
  • 애플리케이션은 프로세스로 로드할 수 있음. 또한 스택, 실행 스레드, 전역 메모리, 파일 핸들 및 메시지 큐와 같은 작업을 소유할 수 있음. DLL은 이러한 것들을 소유할 수 없음
  • 동적 링크를 사용하면 메모리가 절약되고 스와핑이 감소
  • 동적 링크을 사용하면 디스크 공간 및 대역폭이 절약
  • 유지 관리, 보안 수정 및 업그레이드를 더 쉽게 수행
  • DLL을 사용하여 출시 후 지원을 제공
  • 명시적 링크를 사용하여 런타임에 DLL을 검색하고 로드할 수 있음. 예를 들어, 앱을 다시 빌드하거나 배포하지 않고 새 기능을 앱에 추가하여 애플리케이션 확장
  • 동적 링크를 사용하면 다양한 프로그래밍 언어로 작성된 애플리케이션을 쉽게 지원. 다양한 프로그래밍 언어로 작성된 프로그램은 프로그램이 함수의 호출 규칙을 따르는 한 동일한 DLL 함수를 호출할 수 있음.
  • 동적 링크를 사용하면 애플리케이션의 국제 버전을 더 쉽게 만들 수 있음. 예를 들어, 애플리케이션의 지역화 버전을 여러 개 제공하는 대신 각 언어의 문자열과 이미지를 별도의 리소스 DLL에 배치.

sticker

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.