컴파일러, 인터프리터, 어셈블러

CODEDRAGON Development/C, C++

반응형

   

   

컴파일러 vs 인터프리터

컴파일러

인터프리터

번역

통역

번역한 것은 추가적인 노력없이 계속 해당 결과물을 재사용할 수 있습니다.

매번 사용할때마다 변환해 주어야 합니다.

   

   

컴파일러, 인터프리터, 어셈블러

컴파일러

번역

  • 번역한 것은 추가적인 노력없이 계속 해당 결과물을 재사용할 수 있습니다.
  • 고급언어로 작성된 프로그램을 그와 의미적으로 동등한 컴퓨터에서 실행될 수 있는 형태의 목적 프로그램으로 바꾸어주는 프로그램.
  • 중간 결과물(obj파일)만드는 역할

      

어셈블러

해석

  • 사용할때마다 한줄씩 읽어들여서 실행 주어야 합니다.
  • 어셈블리언어로 작성된 원시프로그램을 컴퓨터가 직접 이해할 수 있는 기계어로 작성된 목적프로그램(기계어프로그램)으로 1:1 대응시켜주는(번역하는) 프로그램.
  • 중간 결과물(obj파일)에서 기계어 코드를 만드는 역할

      

인터프리터

통역

  • 매번 사용할때마다 변환해 주어야 합니다.
  • 고급언어로 작성된 원시코드를 한번에 한 줄씩 읽어 들여서 실행하는 프로그램
  • 기계어 코드를 현재 시스템에서 돌아갈 수 있도록 에뮬레이션하는 역할

   

   

   

인터프리터 구조

   

   

   

컴파일러와 인터프리터 과정

   

   

컴파일러, 어셈블러, 인터프리터 과정