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.   프로그래밍언어 종류
            1. 프로그래밍 언어
            2. 어셈블리언어
        1.   C
              1. C 언어
              2. C 연산자
              3. C++ 언어
          1.   C 언어 컴파일
            1.   1. C 라이브러리
                2. 라이브러리
                3. 선행처리
                4. GNU C 컴파일러
          2.   C 변수,상수,자료형
          3.   C 함수
          4.   포인터
        2.   자바(Java)
        3.   자바스크립트
        4.   PHP
        5.   (기타 언어)
      8.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록(시험중)     참고문헌