CS

[CS] 컴파일러와 인터프리터의 차이

남생이야 2024. 4. 18. 02:04

 

컴파일러 (Compiler)

  • 컴파일러는 파일 전체를 컴파일하기 때문에 용량이 크다.
  • 코드를 수정하면 컴파일 과정을 다시 거쳐야 한다.
  • 파일 전체를 한꺼번에 작업하기때문에 수행시간이 다소 걸린다.
  • 위 특징으로 인해 실행파일은 특정 하드웨어에서 실행되기 위해 만들어 진 것이므로, 컴파일러는 하드웨어에 종속적이다.

 

인터프리터 (Interpreter) 

  • 인터프리터는 소스 코드를 한 줄씩 읽어 기계어로 변환하고 실행한다.
  • 한 줄씩 변환하는 특징 때문에 컴파일러보다 느리다. 
  • 각 줄(행)마다 실행하는 특징때문에 소스 코드 수정이 빈번하게 일어날 경우 유리하게 작용할 수 있다. 
  • 컴파일러처럼 목적 코드 생성과 링킹 작업을 하지 않기 때문에 메모리 효율면에서 유리하다.
    (실행파일을 만들지 않기 때문에 하드웨어에 종속되지 않는다.)