본문 바로가기
C++/C++

[C++] 헤더 / 라이브러리에 관해

by sihyeong 2022. 10. 11.

라이브러리 포함

  • < > 
    • Compiler가 알고 있는 디렉토리에서 .h 파일을 찾아서 포함
  • " "
    • #include를 사용하는 source code가 있는 디렉토리에서 .h 파일을 찾아서 포함

- 위치와 사용법에 따라 < > 와  " " 를 구분해서 사용한다.

 

< > 사용법 : 

  • 아래와 같이 추가 포함 디렉토리에 해당 라이브러리의 경로를 입력해주면 < > 를 이용하여 사용 가능

정적 라이브러리 ( . lib)

  • Object file의 모음
  • 기계어( . obj)로 번역된 함수 정의의 모음

 

라이브러리 사용 장점

  • 코드를 남에게 전달할 때 소스코드로 전달하는 것은 바람직하지 못해 라이브러리를 전달한다.
  • 바뀌지 않는 소스코드의 내용도 다른 소스코드 수정 후 컴파일 할 경우 계속해서 컴파일을 한다. 라이브러리로 만들면 컴파일할 필요가 없다. -> 컴파일을 하지 않아도 되니 효율적
  • 소스 코드의 내용을 숨길 수 있다.

 

정적 라이브러리 만들기

  • 아래와 같은 설정 후 컴파일 하게 되면 .lib 파일이 생성된다.

 

생성된 정적 라이브러리 가져다 쓰기

  • #include 하더라도 링커는 이 라이브러리가 어디있는지 모르기 때문에 알려줘야 한다.
  • 따라서 .lib가 있는 경로 전체와 .lib를 아래의 부분에 추가한다.

1.  .lib 추가

  • 아래의 부분에 .lib를 추가
  • 2번을 이용하지 않을 경우, 경로.lib를 적어줘야 한다.

 

2. 라이브러리 경로 포함

  • 라이브러리가 포함된 폴더를 아래의 부분에 추가
  • 그러면 1번 작업에서 경로를 다 적어줄 필요 없이 .lib 파일명만 적어주면 된다.
  • 설정한 경로에 .lib 넣어서 사용하면 된다.

라이브러리 사용

  • 실제 사용할 때는 .h 파일과 .lib 파일 두개를 가지고 있어야 하며 위의 방법을 통해 경로를 추가하여 사용하면 된다.

 

 

참고

HPC Lab. KOREATECH, [C언어 Lv2] 2강. 함수(4/4) - 라이브러리(Library), 2020.09.10

https://www.youtube.com/watch?v=eAqzQNfPfiA

'C++ > C++' 카테고리의 다른 글

[C++] wstring  (0) 2022.11.14
[C++] constexpr  (0) 2022.11.13
[C++] delete와 소멸자 ~class()  (0) 2022.10.13
[C++] 프로젝트 생성 관리  (0) 2022.10.11
[C++] string 관련 참고사항  (0) 2022.10.10