C 언어 - 라이브러리와 헤더

컴퓨터/C

728x90
반응형

라이브러리란(Library)?

C언어에서 라이브러리란 자주 사용하는 소스코드들을 미리 작성하여 프로그래머가 원할 때 빠르게 사용할 수 있게 가공된 형태를 말합니다. 

이 라이브러리 파일은 헤더 파일과 , 라이브러리 파일로 구성되어 있습니다.

 

  • 헤더 파일 
    • 헤더 파일을 소스코드의 형태로 저장되어 있으며, 함수의 형태를 알기 위해 함수의 원형이 표시됩니다.
  • 라입 브러리 파일
    • 함수를 구현하는 실제 부분이 미리 컴파일되어있는 파일입니다.  (기계어화된 파일)

그렇다면 라이브러리의 종류와 헤더 파일에 대하여 알아보도록 하겠습니다.

 

왜 라이브러리를 사용하는가?

  • 컴파일러의 일을 줄일 수 있다. (컴파일 시간의 단축)

라이브러리는 자주 사용하는 함수(소스코드)들을 미리 기계 어화 시켜 보관하고, 빠르게 사용하기 위한 형태라고 말했습니다.  이 말은 이미 자주 사용하는 코드들이 기계 어화(컴파일)가 되어있는 형태입니다.  함수들을 라이브러리화 하지 않고 모두 소스코드를 통해 사용한다면 컴파일되는 시간이 많아지며 프로그램 자체의 크기 또한 커질 것입니다.

 

  • 다른 프로그래머의 소스코드를 쉽게 사용할 수 있다.

어떠한 프로그램을 만드는 과정 중 처음부터 끝까지 한 명의 프로그래머가 다 개발을 하는 것은 쉽지 않습니다. 이런 다양한 기능들을 라이브러리의 형태로 공유하며, 다른 프로그래머들이 쉽게 사용할 수 있게 해 줍니다. 대표적으로 표준 라이브러리 즉 C언어 표준에서 기본적으로 제공하는 표준 입출력 등의 라이브러리가 대표적인 예입니다. 개인의 프로그래머가 표준 입력 출력 등을 구현하려면 불필요한 시간의 투자가 필요하기 때문입니다.

 

  • 소스코드를 보호 / 비공개할 수 있다.

라이브러리는 미리 컴파일된(기계 어화)된 파일과 함수의 원형을 알려주기 위한 해더 파일이 존재한다고 말했습니다. 따라서 특정 프로그래머가 어떠한 함수들을 만들고 원본 소스코드가 아닌 라이브러리화 시켜 배포한다면, 기계 어화 된 함수의 구현 내용을 보호하고 다른 사람들에게 1차적으로 숨길수 있게 됩니다.

 

라이브러리의 구분 - 표준 라이브러리

C언어 (ISO C 표준에 의해 정의된 파일들)에서 기본적으로 제공해주는 라이브러리들을 말합니다. 

지난 예제들에서 사용해본 모든 라이브러리들이 다 이 표준 라이브러리 입니다.

표준 라이브러리를 사용하기 위해서는 < >를 이용하여 전처리기를 통해 헤더 파일을 포함시켜 줍니다.

#include <표준라이브러리.h>

다양한 종류의 표준 라이브러리가 있으며, 자세한 내용은 추후에 다루도록 하겠습니다.

 

라이브러리의 구분 - 사용자 정의 라이브러리

다양한 환경과 프로그래밍에서 적합하게 사용하기 위해 프로그래머가 직접 라이브러리를 만들고 사용 , 배포하는 경우가 있습니다. 이런 라이브러리들을 사용자 정의 라이브러리라 하며, " "를 이용하여 전처리기를 통해 헤더 파일을 포함시켜 줍니다.

#include "사용자지정라이브러리.h"

이런 형태를 이용하여 다른 프로그래머가 만든 라이브러리를 가져와 사용하던가 직접 내가 만든 함수들을 묶어 라이브러리화 시켜 조금 더 편리한 형태로 프로그래밍을 하는 것이 가능합니다.

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :