[운영체제] 컴파일러와 인터프리터의 차이

dl_edge·2021년 9월 28일
1

운영체제

목록 보기
3/7

컴파일러와 인터프리터에 대해 알아보자.

컴파일러와 인터프리터는 모두 고급 언어(java, c언어 등)를 PC가 읽을 수 있는 언어(2진법)로 변환하는 장치이다.


인터프리터와 컴파일러의 차이를 보면,

  1. 인터프리터란, 고급 언어로 작성된 원시 코드 명령문들을 한번에 한 줄씩 읽어들여서 실행하는 프로그램이며,
  2. 컴파일러란, 특정 프로그램 언어로 작성된 문장을 처리하여 기계어 또는 컴퓨터가 사용할 수 있는 코드로 변경시켜주는 특수한 용도의 프로그램이다.

컴파일러와 인터프리터의 가장 큰 차이점은 해석을 한번에 하느냐 아니면 실행과 동시에 부분적으로 해석을 하느냐 이다.

  1. 컴파일러는 프로그램 전체를 한번에 기계어로 편집하는 것을 말하고,
  2. 인터프리터는 작성한 프로그램을 한 줄씩 번역하면서 실행하는 것이다.

실행순서

  • 컴파일러의 실행과정
    1. 어휘 분석
    2. 구분 분석
    3. 의미 분석
    4. 중간 코드 생성
    5. 기계어 코드 생성
  • 인터프리터의 프로그램 실행 과정
    1. 한 명령어를 메모리에서 가져옴
    2. 가져온 명령어 해석
    3. 필요한 데이터 가져옴
    4. 명령 실행

컴파일러와 인터프리터의 차이 요약 정리

컴파일러인터프리터
번역단위전체한줄씩
실행속도상대적으로 빠름 => 실행파일이 생성되어 다음에 실행할 때는 이 파일만 실행하면 되기 때문에 실행 시간이 비교적 빠르다.상대적으로 느림 => 한 줄씩 번역을 하기 때문에 번역시간은 빠르지만 실행 시간은 비교적 느리다.
번역속도상대적으로 느림상대적으로 빠름
실행 파일 생성유무생성생성 안함
메모리 할당할당 받음사용 안함

profile
TIL (Today I Learned!) 전공 까먹기 싫어서 정리하는 중🎁

0개의 댓글