진짜 개발자
본문 바로가기

CS(Computer Science)/컴퓨터구조

컴파일러(Compiler) 와 인터프리터(Interpreter)

728x90

컴파일러

고급언어로 쓰여진 프로그램이 컴퓨터에서 수행되기 위해서는 컴퓨터가 직접 이해할 수 있는 언어로 바꾸어 주어야 합니다. 이러한 일을 하는 프로그램을 컴파일러라고 합니다. 번역과 실행 과정을 거쳐야 하기 때문에 번역 과정이 번거롭고 번역 시간이 오래 걸리지만, 한번 번역한 후에는 다시 번역하지 않으므로 실행 속도가 빠릅니다.

인터프리터

소스 프로그램을 한번에 기계어로 변환시키는 컴파일러와는 달리 프로그램을 한 단계씩 기계어로 해석하여 실행하는 ‘언어처리 프로그램’입니다. 줄 단위로 번역, 실행되기 때문에 시분할 시스템에 유용하며 원시 프로그램의 변화에 대한 반응이 빠릅니다. 한 단계씩 테스트와 수정을 하면서 진행시켜 나가는 대화형 언어에 적합하지만, 실행 시간이 길어 속도가 늦다는 단점이 있습니다. 프로그램이 직접 실행되므로 목적 프로그램이 생성되지 않는다.

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

컴파일러인터프리터
번역단위전체한줄씩
실행속도빠름느림
번역속도느림빠름
목적 프로그램생성함생성하지않음
메모리 할당목적프로그램 생성시 사용사용 안함


'CS(Computer Science) > 컴퓨터구조' 카테고리의 다른 글

FAT32 구조  (0) 2018.10.30
Storage 종류  (0) 2018.10.17
MBR 구조  (0) 2018.09.13