LIB와 DLL 간의 차이

Anonim

LIB vs DLL

소프트웨어를 개발할 때 LIB 또는 DLL을 응용 프로그램 용 함수에 포함할지 여부를 묻는 경우가 종종 있습니다. LIB는 응용 프로그램을 컴파일하면서 함수 및 프로 시저를 배치하고 호출 할 수있는 정적 라이브러리입니다. DLL 또는 다이나믹 링크 라이브러리는 동일한 기능을 수행하지만 응용 프로그램이 컴파일 중에 런타임이 아닌이 라이브러리를 호출 할 수 있다는 점에서 동적입니다. 이것은 LIB 사용에 비해 몇 가지 중요한 이점을 제공합니다.

처음에는 DLL을 사용할 때 작은 파일이 여러 개있는 동안 모든 코드가 포함되어 있기 때문에 훨씬 큰 단일 파일을 만들 수 있습니다. 함수와 프로 시저를 컴파일하면 DLL의 기능에 만족하면 재사용 성이 향상됩니다. 각 버전의 응용 프로그램을 그대로 유지할 수 있기 때문입니다. 동일한 함수 및 프로 시저를 사용하는 다른 응용 프로그램을 만들려면 동일한 DLL을 사용할 수도 있습니다. LIB로 할 필요가있는 것처럼 소스에서 코드를 복사하는 대신 DLL에 직접 링크 할 수 있습니다.

DLL의 문제점은 DLL의 내용을 변경할 때입니다. 이로 인해 응용 프로그램에서 문제를 일으키는 잘못된 버전의 DLL을 사용하는 버전 문제가 발생할 수 있습니다. 이러한 문제를 피하려면 DLL을 추적해야합니다. 하나의 큰 파일 만 얻으므로 LIB에는이 문제가 없습니다.

소프트웨어를 개발하고 DLL을 선택할 때 프로젝트에 LIB 파일이 남아 있습니다. 그러나 LIB를 사용할 때와 달리이 파일에는 함수 및 프로 시저의 코드가 포함되어 있지 않지만 프로그램이 DLL의 프로 시저를 호출해야하는 스텁 만 포함됩니다.

요약:

1. DLL은 런타임에 응용 프로그램이 호출 할 수있는 함수가 들어있는 라이브러리로, LIB는 컴파일 중에 코드를 호출해야하는 정적 라이브러리입니다 (2). LIB를 사용하면 DLL이

3 인 여러 개의 작은 파일로 끝나는 동안 단일 파일이 커질 수 있습니다. 새 버전이나 완전히 새로운 응용 프로그램을 작성할 때 DLL은 LIB보다 재사용이 쉽습니다.

4. DLL 파일은 다른 응용 프로그램에서 사용할 수 있지만 LIB 파일은

사용할 수 없습니다. LIB는

6이 아니지만 DLL은 버전 문제에 취약합니다. DLL로 소프트웨어를 개발할 때 여전히 LIB 파일을 가지지 만 스텁만을 포함합니다.