Preprocessing   전처리, 선행처리

(2018-03-10)

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

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

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

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

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


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

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


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

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

  ㅇ C 언어에서 주요 전처리 (전처리 지시자) 例
     * (전처리 지시자 : 컴파일 환경에 맞게 원시 프로그램을 처리하는 방법을 일러주는 지시자)

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

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

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

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

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


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

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