본문 바로가기
Knowledge/CS

컴파일과 인터프린터

by YoonJong 2022. 8. 17.
728x90

컴파일러와 인터프린터는 사람이 이해할 수 있는 고급언어로 작성된 소스 코드를,

기계가 이해할 수 있는 기계어로 번역 후 프로그램을 실행하는 것이다.

 

 

차이점에 대해 알아보자.

  하드웨어 실행시간(비교) 번역시간(비교) 메모리 대표언어
컴파일러 종속적O 빠르다 느리다 많이사용 JAVA, C, C++
인터프리터 종속적X 느리다 빠르다 비교적 적게 사용 Pyhon, JavaScript

 

컴파일러 - 하드웨어에 종속적

 - 고급언어를 한번에 번역을 한다.

 - 줄 단위로 해석하는 인터프리터에 비해 번역시간이 오래걸린다.

 - 컴파일러는 한번 실행하면 실행파일이 생성되어, 다음 실행을 할때는 기존에 생성되었던 실행파일을 실행하기 때문에,

인터프리터에 비해 실행 시간이 빠르다.

 - 전체 코드를 검사한 후 실행하기 때문에, 실행 전에 오류 메세지를 확인할 수 있다. (컴파일 에러)

 

인터프리터 - 하드웨어에 종속적이지 않다

 - 고급언어를 한줄씩 번역을 한다.

 - 한번에 번역하는 컴파일러에 비해 번역시간이 빠르다.

 - 실행파일을 생성하지 않기때문에 실행할 때마다 번역을 진행해야 한다. 때문에, 컴파일러에 비해 실행 시간이 느리다.

 

 

+JIT 컴파일러

- 컴파일러와 인터프리터 방식을 혼합 

- 인터프리터 방식(한줄씩 번역) 으로 기계어 코드를 생성하면서 그 코드를 캐싱하기 때문에 재사용시 컴파일 할 필요가 없다

 

 

 

참고

https://cbw1030.tistory.com/276

 

컴파일러와 인터프리터의 차이점을 알아보자

안녕하세요. 이번 포스팅에서는 컴파일러와 인터프리터에 차이와 장단점에 대해서 알아보겠습니다. 컴파일러와 인터프리터는 사람이 이해할 수 있는 고급언어로 작성된 소스 코드를 기계가 이

cbw1030.tistory.com

https://velog.io/@jhur98/%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%ACcompiler%EC%99%80-%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0interpreter%EC%9D%98-%EC%B0%A8%EC%9D%B4

 

컴파일러(compiler)와 인터프리터(interpreter)의 차이

컴파일(compile)의 역사컴파일 이야기를 하기전에 어셈블리어에 대해서 간단하게 짚고 넘어가야 한다. 어셈블리어란 무엇인가? 어셈블리어를 위키에서 검색하면 정의를 알 수 있는데, 이 정의에

velog.io

https://nohhh.tistory.com/entry/%EC%9D%B4%EB%A1%A0-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC-%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%84%B0-JIT

 

[이론] 컴파일러, 인터프리터, JIT

1. 컴파일러, 인터프리터란? 프로그래머가 작성한 소스코드는 기계가 이해할 수 있는 기계어로 변경해야합니다. 처음 작성된 프로그램은 원시 프로그램(Source program), 변환된 프로그램을 목적 프

nohhh.tistory.com

 

728x90

댓글