○Static Library (.a)
▷여러 개의 Relocatable Object File을 모아 index가 있는 하나의 파일로 만든다.
▷unresolved external reference를 resolve하면 이를 reference하게 한다.
▶생성
▷.o 파일을 한데 묶어 생성
▶Linking
▶자주 사용되는 Library
▷C Standard Library (libc.a)
▷C Math Librarry (libm.a)
○Dynamic Library (.so, DLLs)
▶Static Library의 단점을 보완하기 위해 새롭게 고안된 라이브러리
▷라이브러리 코드가 실행 파일내에 내장되기 때문에, 실행 파일의 크기가 커진다.
▷라이브러리가 동시에 여러 파일에 포함되어 실행되면 메모리 공간 효율이 떨어짐
▷필요시에 사용할 수 있도록 최소한의 정보만 포함하거나, 독립적으로 DLL을 로드/사용/해제 가능
▶Linking
▶load-time linking
▷exe 파일이 처음 load되고 실행될 때, link함. (.so)
▶run-time linking
▷프로그램 실행 중에 dlopen()을 통해 link함.
▷dlopen(), dlsym() 작업이 선행되어야 함.
▷사용이 끝난 뒤에는 dlclose()를 해주어야 함.
'컴퓨터 지식 > 시스템' 카테고리의 다른 글
Process Control (0) | 2020.12.11 |
---|---|
Exception Control (0) | 2020.12.03 |
Linking (0) | 2020.12.01 |
Memory Performance (0) | 2020.11.24 |
Cache Memory (0) | 2020.11.19 |