Library4developers

Ubuntu Korea Community Wiki
imported>Wiki님의 2014년 5월 10일 (토) 12:29 판 (새 문서: == 라이브러리란? == * 도서관이라는 뜻처럼, 헤더 파일과 실행 루틴이 모여 있는 것으로 프로그래밍 언어에서 입출력과 문자열 관리와 같...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 이동 검색으로 이동

라이브러리란?

  • 도서관이라는 뜻처럼, 헤더 파일과 실행 루틴이 모여 있는 것으로 프로그래밍 언어에서 입출력과 문자열 관리와 같은 일상적인 작업을 추가할 때 사용한다.

동적 라이브러리와 정적 라이브러리의 특징

동적 라이브러리

  • 일반적으로 .so 로 끝나는 이름을 하고 있다.
  • 윈도우의 DLL 파일이라고 생각하면 된다.
  • 실행할 때 시스템에 설치되어 있는 라이브러리를 가져다 사용하므로, 정적 라이브러리에 비해 상대적으로 느리다.
  • 공유 라이브러리를 사용하면 실행파일에 라이브러리를 포함할 필요가 없으므로 스토리지가 절약된다.
  • 사용법
gcc --shared -o parse parse.c -lxml2

정적 라이브러리

  • 일반적으로 .a 로 끝나는 이름을 하고 있다.
  • 윈도우의 lib 파일이라고 생각하면 된다.
  • 컴파일할 때 함수를 실행파일에 포함한다.
  • 실행할 때 모든 함수가 실행파일 안에 있으므로, 동적 라이브러리에 비해 상대적으로 빠르다.
  • 정적 라이브러리를 사용하면 의존성 등에서 조금 더 자유로울 수 있다.
  • 사용법
gcc --static -o parse parse.c -lxml2

라이브러리의 설치

  • sudo apt-get install로 설치가 가능하다.

ex)

sudo apt-get install libxml2-dev
  • 설치된 라이브러리는 일반적으로 /usr/include에 헤더파일이 들어가며, /usr/lib에 .so파일과 .a파일이 들어간다.