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

Jae·2022년 8월 9일
0

CS

목록 보기
1/4

어셈블리어

  • 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다.
  • 컴퓨터 구조에 따라 사용하는 기계어가 달라지며,
    따라서 기계어에 대응되어 만들어지는 어셈블리어도 각각 다르게 된다.

컴파일

  • 고급언어 -> 어셈블리어(기계어)

고급 언어 -> 어셈블리어 번역 방식

  • 컴파일러(compiler)
  • 인터프리터(interpreter)

컴파일러(compiler)

  • 전체 파일을 스캔하여 한꺼번에 번역한다.
  • 초기 스캔시간이 오래 걸리지만, 한번 실행 파일이 만들어지고 나면 빠르다.
  • 기계어 번역과정에서 더 많은 메모리를 사용한다.
  • 전체 코드를 스캔하는 과정에서 모든 오류를 한꺼번에 출력해주기 때문에 실행 전에 오류를 알 수 있다.
  • 대표적인 언어로 C, C++, JAVA 등이 있다.

인터프리터(interpreter)

  • 프로그램 실행시 한 번에 한 문장씩 번역한다.
  • 한번에 한문장씩 번역후 실행 시키기 때문에 실행 시간이 느리다.
  • 컴파일러와 같은 오브젝트 코드 생성과정이 없기 때문에 메모리 효율이 좋다.
  • 프로그램을 실행시키고 나서 오류를 발견하면 바로 실행을 중지 시킨다.
    따라서 실행 후에 오류를 알 수 있다.
  • 대표적인 언어로 Python, Ruby, Javascript 등이 있다.

Reference

컴파일러와 인터프리터 차이

profile
Jae's Development Area : 재개발구역

0개의 댓글