컴파일러

컴파일러와 인터프리터의 차이로 올바른 것은?

  1. A컴파일러는 실행 전에 번역하고, 인터프리터는 읽으면서 실행한다
  2. B컴파일러는 실행하면서 한 줄씩 번역하고, 인터프리터는 실행 전에 한꺼번에 번역한다
  3. C컴파일러는 수치 계산만, 인터프리터는 문자 처리만 다룬다
정답과 해설 보기

정답: A. 컴파일러는 실행 전에 번역하고, 인터프리터는 읽으면서 실행한다

컴파일러는 프로그램 전체를 실행하기 전에 기계어 등으로 번역하고, 번역한 결과를 실행합니다. 번역에 시간이 걸리는 대신 실행은 빨라지고 최적화에도 시간을 들일 수 있습니다. 인터프리터는 프로그램을 읽으면서 해석하여 실행하므로 바로 시험해 볼 수 있는 반면 실행은 느려지기 쉽습니다. 실제로는 바이트코드로 번역한 뒤 해석하고, 자주 쓰는 부분을 JIT 컴파일하는 등 둘을 조합한 방식도 많이 사용됩니다. 다룰 수 있는 처리의 종류로 나누는 것은 아닙니다.

  • A. 올바릅니다. 실행 전에 번역하느냐, 읽으면서 실행하느냐의 차이입니다.
  • B. 설명이 반대로 되어 있습니다.
  • C. 다룰 수 있는 처리의 종류로 나누는 것은 아닙니다.
이 분야 연습하기 분야로 돌아가기

컴파일러의 다른 문제

  1. JIT 컴파일을 사용하는 실행 환경의 특징으로 올바른 것은?
  2. LLVM의 기본 구성으로 올바른 것은?
  3. 컴파일러의 최적화 수준을 지정하는 옵션에서 최적화를 하지 않는 설정(-O0 등)이 자주 사용되는 상황은?
  4. 프로파일을 이용한 최적화(PGO)에 대한 설명으로 올바른 것은?
  5. 링크 시 최적화(LTO)로 가능해지는 최적화로 가장 적절한 것은?

이 분야의 비교