dll과 lib의 차이

  • 필요한 함수를 프로그램 코드에 붙여 컴파일 시 프로그램 자체에서 참조 (Compile-Time)
  • lib 파일은 하나의 거대한 파일이 생성
  • 재사용성이 떨어짐
    • 어플리케이션 업데이트 시 새로운 버전으로 작성
    • 다른 어플리케이션에 사용 불가
    • 하지만 버전 관리에 용이
  • 프로그램 실행 중 내장된 함수를 사용하면서 빠른 처리 시간
    • 프로그램 로딩은 느림
  • 한 번 컴파일 시 프로그램 .exe파일만 있으면 .lib없이 실행 가능(하나의 파일만 있으면 됨)
  • 프로그램 실행 시 필요할 때만 DLL 파일에서 함수를 참조 (Run-Time)
  • 여러 개의 작은 사이즈의 파일을 생성
  • 어플리케이션을 업데이트 하더라도 DLL 기능에 변화가 없으면 재사용 가능
    • DLL 함수 업그레이드 시 해당 DLL만 수정 배포
    • 다른 어플리케이션에도 사용될 수 있음
    • 하지만 동시에 버전 이슈가 발생하기 쉬움
  • 프로그램 로딩 시 DLL을 모두 로드하지 않기 때문에 프로그램 로딩하는 시간이 단축
    • 프로그램 실행 중 함수 호출에는 시간 소요
    • 컴파일 시에는 dll이 필요 없으나, .exe 파일 구동 시에는 dll 필요
    • dll 컴파일 시 lib도 같이 생성됨(dll 참조용)

출처

Categories: ,

Updated: