C++에서 사용하는 외부 라이브러리에 대해 알아보자.
링크 단계에서 정적으로 라이브러리 파일을 추가한다.
일반적으로 실행 파일을 만들 때는 소스 코드를 컴파일하고 만들어진 obj파일을 링커가 하나로 묶어 exe파일을 만든다. 여기서 lib을 사용하면 링크 단계에서 링커가 이 lib파일도 같이 묶어서 하나의 exe파일을 만들게 된다.
lib을 만들고 해당 소스를 외부의 다른 프로젝트에서 사용하려면 필요한 것은 2가지이다.
lib의 경로를 알려준다.include(header)의 경로를 알려준다.링커가 dll의 위치를 알고 있다면 exe파일에 내용이 포함되어있지 않아도 실행이 가능하다.
dll은 프로세스의 주소 공간에 로드 되어야만 사용될 수 있다. 로드되는 방법은 2가지가 있다.
실행 파일 자체에 어떤 dll의 함수를 사용하겠다는 정보를 포함시키고 운영체제가 프로그램 실행 시 해당 함수들을 초기화한 후 그것을 이용하는 방법이다. 아래와 같은 특징이 존재한다.