본문 바로가기
c++

라이브러리 개념

by kcj3054 2022. 5. 16.

함수를 소스 상태로 배포하면 생기는 문제점

  • 소스의 내용을 누구나 볼 수 있다. - 보안 문제

  • 소스를 사용 할때 마다 컴파일 해야한다 - 컴파일 시간

  • 소스를 컴파일하면 실행파일 (기계어 코드)가 생성된다 -> 미리 컴파일 된 상태로 배포하는 것을 라이브러리라고하는데 .. 정적 라이브러리와 동적라이브러리가 있다.

[정적라이브러리]

xxx.lib파일이 있을 때 -> a.exe b.exe 가 존재할 때 두 실팽파일 모두에 라이브러리 파일이 들어간다. 장점은 실행 파일의 배포가 쉽다 하지만 동일한 기계어 코드가 여러 실행파일에 모두 포함되어서 메모리 사용량이 증가한다. 라이브러리 update시에 실행파일을 다시 update해야한다.

[동적 라이브러리]

동적라이브러리 .dll 파일을 업데이트하면 실행파일이 a.exe, b.exe가 있을 경우 두개다 라이브러리의 update가 쉽다. 이유는 실행파일에 라이브러리가 포함 되는 것이아니라, 실팽파일에서 라이브러리를 호출하는 형식이라서 그렇다.. 단점은 실행파일과, dll파일을 같이 배포 되어야한다.

'c++' 카테고리의 다른 글

vector 구현.  (0) 2022.04.17
오버로딩 된 new,  (0) 2022.04.09
참조 vs 포인터  (0) 2022.01.02
cpp transform  (0) 2021.12.15
static 키워드 (cpp, java)  (0) 2021.10.23