Preprocessing   전처리, 선행처리

(2019-01-21)

C 선행처리기, Preprocessor, 전처리기, 선행처리기, Preprocessor Directive, 전처리 지시자

Top > [기술공통]
[기초과학]
[진동/파동]
[방송/멀티미디어/정보이론]
[전기전자공학]
[통신/네트워킹]
[정보기술(IT)]
[공업일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램,프로그래밍
[프로그래밍 언어론]
[구조적 프로그래밍]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
시스템 소프트웨어 > [번역기(프로그램)]
[컴파일러]
[정규표현식]
[(기타)]
컴파일러   1. 컴파일
  2. 전처리
  3. 링커,로더
  4. 언어
  5. 형식 언어
  6. 유한상태 머신
  7. 어휘/구문/의미 분석
  8. BNF,EBNF

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

1. 전처리 / 선행처리 (Preprocessing)

  ㅇ 일반적으로, 다루기 쉬운 형태로 변환시키는 과정


2. [프로그램]  전처리 / 선행 처리컴파일하기 전에 원시 프로그램을 단순 처리하는 컴파일러의 한부분 
     - 단지 텍스트 조작에 불과하고, 문법이나 의미에 대해서는 거의 고려치 않음

  ㅇ 선행처리기 주요 역할들
     - 주석 제거
        . 컴파일 과정에 번역이 되지 않도록, 원시 프로그램 상의 주석을 제거
     - 매크로(Macro) 치환/확장
        . 단순 매크로 : 기호를 정의된 상수(수치값,문자열 등)로 치환
          .. 장점 : 프로그램 가독성 증대, 상수 변경 용이 등
        . 함수 매크로 : 매크로가 함수 처럼 매개변수를 갖는 것
          .. 장점 : 함수 호출 단계의 불필요로 실행 속도 향상
          .. 단점 : 소스코드 길이가 길어짐
     - 컴파일하기 전에 특정 문장을 다른 문장으로 전환
     - 특정 파일의 내용을 병합/포함
     - 현재 컴파일 상태의 여러 정보를 저장 등


3. [C 언어]  전처리 / 선행 처리

  ㅇ 주요 전처리 기능 셋
     - 헤더 파일을 병합/포함(#include)하여 언어를 확장해 주는 기능
     - 매크로 치환 (주로, #define 활용)
     - 조건 번역 (#if 등)

  ㅇ C 언어에서 선행처리를 위한 선행처리 지시자
     * (전처리 지시자 : 컴파일 환경에 맞게 원시 프로그램을 처리하는 방법을 일러주는 지시자)
        . 반드시 #로 시작함
        . 한 줄에 하나씩 씀
        . 통상 프로그램 첫칸부터 쓰여짐
        . 명령문 끝 세미콜론(;)을 붙이지 않음

     - 매크로 확장 지시자   : #define, #undef
     - 조건부 컴파일 지시자 : #if, #else, #elif, #endif, # ifdef, #ifndef 
     - 외부 파일 지시자     : #include
     - 기타 지시자          : #error, #line

  ㅇ C 언어에서 주요 전처리 (전처리 지시자) 例
     - (특정 파일 병합)
        .  #include : 파일 포함
           .. <파일명> : C 언어 컴파일러 내 설정된 include 디렉토리에서 해당 파일을 찾음
           .. "파일명" : 현재, 소스 파일이 있는 디렉토리를 먼저 찾고,
                         후에, include 디렉토리를 찾음

     - (매크로 지원)
        .  #define  : 매크로 정의
        .  #undef   : 매크로 정의 해제

     - (조건부 컴파일 지원)
        .  #if      : 조건 처리 문장에서 조건이 참일 경우를 의미
        .  #else    : 조건 처리 문장에서 조건이 거짓일 경우를 의미
        .  #endif   : 조건 처리 문장 종료
        .  #ifdef   : 조건 처리 문장에서 매크로가 정의되어 있는 경우 
        .  #ifndef  : 조건 처리 문장에서 매크로가 정의되어 있지 않은 경우 

     - (컴파일 과정 지원)
        .  #line    : 행번호 출력
        .  #pragma  : 시스템 종별에 따라 다른 의미를 줌

  ㅇ 전처리 대상 및 결과 파일 모두가 읽을 수 있는 텍스트 형태의 파일 임


[컴파일러] 1. 컴파일 2. 전처리 3. 링커,로더 4. 언어 5. 형식 언어 6. 유한상태 머신 7. 어휘/구문/의미 분석 8. BNF,EBNF
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램,프로그래밍
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
        1.   번역기(프로그램)
        2.   컴파일러
          1.   1. 컴파일
              2. 전처리
              3. 링커,로더
              4. 언어
              5. 형식 언어
              6. 유한상태 머신
              7. 어휘/구문/의미 분석
              8. BNF,EBNF
        3.   정규표현식
        4.   (기타)
      8.   프로그래밍언어 종류
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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