Contents

정적(Static) 링크 Vs 동적(Dynamic) 링크

정적(Static) 링크 Vs 동적(Dynamic) 링크

정적(Static) 링크 란?

link 단계에서 라이브러리(*.lib 파일)을 실행 바이너리(컴퓨터가 이해할 수 있는 문법으로 만들어진 결과물)에 포함한다는 의미

*.lib 파일이란? > Library 파일, 개발 코드에서 반복되는 기능들을 모아둔 파일

  • ex) *.exe 파일

  • 라이브러리 관련 수정사항이 생기면 파일 전체를 다시 컴파일하여 재배포해야 한다.

동적(Dynamic) 링크 란?

특정 기능을 사용하고자 하는 실행 바이너리에서 필요시 사용할 수 있도록 최소한의 정보만 포함하여 링크하거나, 독립적으로 dll을 로드/사용/해제 시킨다는 의미.

*.dll 파일이란? > Dynamic Link Library 파일, 개발 코드에서 반복되는 기능들을 모아둔 파일 (다만, 동적 링크로 사용되는 라이브러리 파일)

  • 라이브러리 관련 수정사항이 생기면 .dll 파일만 다시 컴파일 하여 재배포하며 된다.

둘의 차이점

*.lib 파일은 링크 시에 필요한 파일이고, *.dll 파일은 실행 시에 필요한 파일이다.