.lib 파일은 정적 라이브러리 파일 형식으로, 주로 Windows 시스템에서 사용됩니다. 이 파일은 미리 컴파일된 코드, 루틴, 함수 및 데이터를 포함하고 있으며, 컴파일 과정 중에 프로그램에 링크될 수 있습니다. 동적 라이브러리(DLL)와 달리, 정적 라이브러리의 코드는 링크 시점에 실행 파일(executable) 안으로 직접 복사됩니다. 이는 결과적인 실행 파일이 독립적으로 구성되어 런타임에 시스템에 외부 라이브러리 파일이 존재할 필요가 없음을 의미합니다. 정적 라이브러리는 수학 함수, 데이터 구조 또는 GUI 요소와 같이 재사용 가능한 코드 구성 요소를 배포하는 데 자주 사용됩니다. 모든 필요한 코드가 실행 파일 내에 포함되므로 배포를 단순화하는 이점이 있습니다. 하지만 실행 파일 크기가 커질 수 있으며, 동일한 라이브러리가 여러 프로그램에서 사용될 경우 코드 중복이 발생할 수 있습니다. 프로그램이 컴파일될 때, 링커(linker)는 정적 라이브러리 내의 함수 및 데이터 참조를 해결하고 해당 코드를 최종 실행 파일에 통합합니다. 이 과정을 통해 .lib 파일 자체가 필요 없이 실행될 수 있는 단일의 독립적인 실행 파일이 생성됩니다.