티스토리 뷰




Static Link 방식과 Dynamic Link 방식



Static Link

Static Link 방식

- 파일 생성시 라이브러리 내용을 포함하여 실행 파일을 만듦.

- gcc 옵션 중 static 옵션을 적용하면 Static Link 방식으로 컴파일 됨.


Static Link 특징

- 실행 파일 안에 모든 코드가 포함되기 때문에 라이브러리 연동 과정이 필요 없음.

- 한 번 생성한 파일에 대해 필요한 라이브러리를 따로 관리하지 않아도 됌.

- 하지만, 파일의 크기가 커지는 단점이 존재.

- 동일한 라이브러리를 사용하더라고 해당 라이브러리를 사용하는 모든 프로그램들은 라이브러리의 내용을 메모리에 매핑 시켜야 함.


Dynamic Link

Dynamic Link 방식

- 공유 라이브러리를 사용하는 방식.

- 라이브러리를 하나의 메모리 공간에 매핑하고 여러 프로그램에서 공유하여 사용.


Dynamic Link 특징

- 실행 파일 안에 라이브러리 코드를 포함하지 않아서 Static Link 방식에 비해 파일 크기가 훨씬 작음.

- 그래서 실행시 상대적으로 적은 메모리 차지.

- 라이브러리를 따로 업데이트 할 수 있어서 유연함.

- 실행파일이 라이브러리에 의존해야 하기 때문에 라이브러리가 없으면 실행 할 수 없음.



Comments