DLL(Dynamic Link Library)

2025. 1. 16. 10:56·IT/C# Windows Form(.NET Framework)

라이브러리(Library)

  • 라이브러리란? 
    • 함수, 데이터, 타입 등 여러가지 프로그래밍 요소들의 집합이며 보통 lib 확장자를 가진다.
    • 자주 사용되는 표준적인 함수를 매번 직접 작성해서 사용하는 것은 지나치게 시간 소모적이므로 표준화할 수 있는 함수를 미리 만들어서 모아 놓은 것.
  • 라이브러리 장점
    • 한 번 구축해 놓기만 하면 다시 만들 필요없이 불러서 사용할 수 있기에 개발 속도도 빨라지고 신뢰성 확보 가능

 

STATIC LINK

  • .exe를 만드는 사람은 자신의 고유 코드만 .cpp에 작성하고 .lib와 연결하면 한글 입출력 기능을 가진 .exe 실행 파일을 만들 수 있음.
  • .lib에 있는 함수와 데이터는 링커에 의해 실행 파일에 그대로 옮겨지면 실행 파일의 일부분이 됨.
  • 이런 전통적인 라이브러리 연결 방법을 정적 링크(Static Link)라고 하면 컴파일 시에 라이브러리에 코드를 실행파일에 복사함.

 

정적 링크와 동적 링크

  • 정적 링크
    • 컴파일 시에 함수가 실행 파일에 연결.
    • 실행 파일에 함수의 코드가 복사되기 때문에 실행 파일의 크기가 커지는 단점이 있지만 실행 파일은 완전한 단독 실행 파일이 된다.
    • 실행파일에 함수의 코드가 포함되어 있기 때문에 컴파일이 끝나면 .lib파일이 없어도 프로그램 실행 가능
  • 동적 링크
    • 실행시에 함수가 실행 파일에 연결된다.
    • 실행 파일에는 호출할 함수의 정보만 포함되고 실제 함수 코드는 복사되지 않으므로 실행 파일의 크기가 작아진다.
    • 하지만 실행 파일은 함수에 대한 정보만 가지고 있을 뿐 실제 코드를 가지고 있지는 않으므로 프로그램 실행시에 DLL이 꼭 있어야 한다.

 

DLL

  • DLL은 동적 링크를 사용한다.
  • DLL의 장점
    • 한 코드를 여러 프로그램이 동시에 사용하기 때문에 메모리가 절약된다.
    • 정적 링크를 사용하는 경우 실행 파일에 라이브러리의 함수가 모두 포함되어 실행파일이 커지지만 DLL을 
      사용하는 프로그램은 크기가 작다.
    •  DLL을 교체하여 프로그램의 성능을 향상시키기 쉽다.
    • 리소스의 교체가 가능하다.
    • 코드의 양이 적어지므로 디버깅이 용이해진다.
    • 혼합 프로그래밍이 가능해진다.
    • 프로그래머끼리 분담 작업이 용이하며 재사용성도 뛰어나다.

 

'IT > C# Windows Form(.NET Framework)' 카테고리의 다른 글

ZedGraph를 이용한 시간별 Value 측정(2)  (0) 2025.01.24
ZedGraph를 사용한 시간별 Value 측정(1)  (0) 2025.01.23
OpenFileDialog / SaveFileDialog  (0) 2025.01.16
PictureBox  (0) 2025.01.16
UserControl(사용자 정의 컨트롤)  (0) 2025.01.16
'IT/C# Windows Form(.NET Framework)' 카테고리의 다른 글
  • ZedGraph를 사용한 시간별 Value 측정(1)
  • OpenFileDialog / SaveFileDialog
  • PictureBox
  • UserControl(사용자 정의 컨트롤)
Byulpa
Byulpa
  • Byulpa
    Byulpa 님의 블로그
    Byulpa
  • 전체
    오늘
    어제
    • 분류 전체보기 (13)
      • IT (10)
        • C#(.NET Framework) (4)
        • C# Windows Form(.NET Framew.. (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Byulpa
DLL(Dynamic Link Library)
상단으로

티스토리툴바