개발지식

dynamic library / static library

우끼우끼몽키 2015. 9. 6. 22:48

1. 정적라이브러리 (Static library )

link 단계에서 라이브러리(*.lib 파일)를 실행 바이너리에 포함시킨다.

라이브러리의 동작 코드가 이를 사용하는 실행 바이너리 속에 포함되기 때문에 별도의 추가 작업없이,

그리고 독립적으로(실행 바이너리만으로...) 라이브러리 함수들을 사용할 수 있다.

하지만, 정적 라이브러리를 사용하는 프로그램이 늘어나면 날수록 불필요하게 실행 파일들의 크기가 커지며,

라이브러리가 동시에 여러 실행 바이너리에 포함되어 실행되는 경우 메인 메모리의 공간 활용 효율이 떨어지는 등

 multiple-caller program이 존재하는 경우 그다지 바람직하지 않다.

정적 라이브러리를 사용하기 위해서는 프로젝트 설정의 Link 옵션에 라이브러리를 추가해 주거나 아래의 #pragma 지시자를 사용하면 된다.

#pragma comment(lib, "NAME.lib")

'개발지식' 카테고리의 다른 글

POSIX란 무엇인가  (0) 2017.10.19
가독성을 높이는 코딩  (0) 2017.03.05
EOL ( End Of Line )  (0) 2015.09.14
UTC - Time  (0) 2015.09.14