CS/소프트웨어개발방법론

인터프리터와 컴파일러

씩씩한 IT블로그 2022. 2. 27. 22:52
반응형

인터프리터

- 원시 프로그램을 한줄씩 저급언어(기계어)로 바꾸어 os에 인식시키는 것

- 고레벨의 언어를 중간코드로 변환하고 이를 각 행마다 실행.

- 플랫폼(하드웨어)에 종속되지 않는다

 

컴파일러

- 고급언어를 한번에 저급언어로 번역(컴파일)

 *빌드 : 소스코드를 실행가능한 소프트웨어 파일로 만드는것. 컴파일은 빌드과정의 일부분이다.

  (빌드를 도와주는 툴이 Ant, Maven, Gradle 등이 있다)

- 최초 실행하면 실행파일이 생성되고 다음 실행시 생성된 실행 파일이 실행되므로 빠르다

- 하드웨어에 종속된다

- 링커에 의해 목적파일이 다른 목적파일(다른 c파일)과 함께 실행파일로 만들어진다

- 로더에 의해 실행파일이 매모리위에 로드된다

 

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

  인터프리터 컴파일러
저급언어로 번역하는 방법 한줄씩 한번에 전체
중간생성되는 것 중간코드 실행파일
하드웨어 종속여부 종속안됨 종속됨
실행시간 재실행 할 때 마다 번역하므로 느림 최초 실행시 컴파일하는데 시간이 오래 걸리지만,
재실행시 빠름(실행파일 생성)
메모리 적음 컴파일 과정에서 메모리 소모 큼
예시 python, sql C,C++,GO

 

반응형