○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

+ Recent posts