C 라이브러리, C 언어 라이브러리

(2018-07-20)

표준 C 라이브러리, Header File, 헤더 파일, 헤더 화일

1. C 라이브러리C 언어에서는, 
     - 자주 사용하는 함수들을 미리 작성하여 두고,
        . 상세 구현 사항은 별도로 모아 저장시켜둔 것
        . 통상, 미리 컴파일되어 라이브러리 파일 형태로 됨
     - 그 프로토타입(함수 원형) 만을 공개 함


2. C 라이브러리의 사용라이브러리 화일
     - C 라이브러리 함수들에 대해 미리 컴파일파일들

  ㅇ 헤더 화일
     - 헤더 화일에는 주로 함수 프로토타입(Function Prototype,함수 원형)이 들어있게 됨

  ㅇ C 라이브러리의 사용 방법
     - 함수 프로토타입이 있는 헤더 화일프로그램 처음에 포함(#include)시켜 사용


3. 표준 C 라이브러리 

  ㅇ 표준 C 라이브러리 (역사 및 버전에 따라 여러가지가 있을 수 있음)
     - ANSI C/ISO C library : 플랫폼(운영체제)에 독립적임
     - C POSIX library
     - 리눅스에서 많이 사용하는 표준 C 라이브러리 : GNU C 라이브러리(glibc)
     - 임베디드 리눅스에서 많이 사용              : uClibc, diet libc

  ㅇ 표준 C (ANSI C) 라이브러리 함수 例) 
     - ctype.h  : isalpha(), isupper() 등 (문자 처리 함수)
     - stdio.h  : (표준 입출력 함수)
        . getchar(). putchar(), fopen(), fclose(), fgets(), printf(), scanf() 등
     - string.h : strlen(), strcmp(), strcpy() 등 (문자열 처리 함수)
     - stdlib.h : malloc(), free() 등 (범용 함수)
     - math.h   : sin(), cos(), pow() 등 (수학 함수)
     - time.h   : difftime(), mktime() 등 (날짜,시간 관련 함수)


4. C 라이브러리 구분

  ㅇ 표준 C 라이브러리
     - 표준 헤더 파일 (ISO C 표준에 정의된 헤더 파일들) 
        . assert.h : 프로그램 진단(diagnostics) 매크로
        . conio.h  : 콘솔(console) 입출력 함수 (putch(),cputs(),cprintf() 등)
        . complex.h
        . ctype.h  : 문자형 판별 함수 (isalpha(),isdigit() 등), 
                     문자 변환 함수 (tolower(),toupper() 등)
        . errno.h
        . fenv.h
        . float.h  : 실수형에 관한 상수 정의
        . inttypes.h,
        . iso646.h
        . limits.h : 정수형에 관한 상수 정의
        . locale.h
        . math.h   : 수학 함수와 매크로 (sqrt(),sin(),cos(),tan() 등)
        . setjmp.h : 일반적인 함수 호출과 복귀 과정을 거치지 않는 함수
        . signal.h : 프로그램 수행 중 발생하는 예외상황을 처리하는 함수
        . stdarg.h : 미확정 매개변수를 다루는 함수
        . stdbool.h
        . stddef.h
        . stdint.h
        . stdio.h : 표준 입출력 라이브러리표준 파일 참조
           .. 표준 입출력 함수 : printf(), scanf(), puts(), putchar() 등
           .. 파일 열기/닫기 함수 : fopen(), fclose()
           .. 파일 읽기 함수 : fgetc(), fgets(), fread() 등
           .. 파일 쓰기 함수 : fputc(), fputs(), fwrite() 등
        . stdlib.h : 범용 유틸리티
           .. 자료형 변환, 기억장소 할당 등에 관련됨
           .. 함수 : malloc(), free(), exit() 등
           .. 상수 : NULL, EXIT_FAILURE, EXIT_SUCCESS, RAND_MAX 등
        . string.h : 문자열 처리 함수
           .. 함수 : strcat(), strcmp(), strcpy(), strlen() 등    ☞ C 문자열 함수 참조
        . tgmath.h 
        . time.h   : 날짜와 시간을 다루는 함수
        . wchar.h
        . wctype.h

  ㅇ 런타임 라이브러리
     * (유닉스운영체제 관련)

     - 이는 운영체제 커널 차원에서 제공
        . 컴파일러플랫폼에 특화되어 있음
        . 일반적인 C 언어 함수 호출 보다는 운영체제의 지원을 받는 시스템 호출을 의미
           .. 입출력, 메모리 관리 등에 대한 기능들 

     - 시스템 호출헤더 파일 例)
        . 例) fcntl.h (열려있는 파일의 특성 제어를 위해서 사용), 
              syscall.h, 
              unistd.h (다양한 심볼 상수, 자료형, 함수를 정의) 등


[C 언어 컴파일] 1. C 라이브러리 2. 라이브러리 3. 선행처리 4. GNU C 컴파일러
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
              1. C 언어
              2. C 기초 문법
              3. C 연산자
          1.   C 언어 컴파일
            1.   1. C 라이브러리
                2. 라이브러리
                3. 선행처리
                4. GNU C 컴파일러
          2.   C 변수,상수,자료형
          3.   C 함수
          4.   포인터
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌