출처 http://cheucheu.tistory.com/47

 

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

컴파일을 하기 위하여 입력되는 프로그램을 "원시 프로그램" 이라 하고, 

이 프로그램을 기술한 언어를 "원시 언어" 라 합니다.

번역되어 출력되는 프로그램을 "목적 프로그램" 이라 하고, 

이 프로그램을 기술한 언어를 "목적 언어" 라 합니다.



       컴파일러(Compiler)


컴파일러는 원시 언어로 된 프로그램을 읽어들여서 목적 언어로 된 동일한 프로그램을

출력하여 주는 언어처리기입니다. 기계어로 번역이 쉽게 이루어질 수 있으면서 

시행 시간을 중시하는 경우에 사용합니다.

 

       인터프리터(Interpreter)


인터프리터는 원시 언어로 작성된 명령문들을 한 번에 한 줄씩 번역하고 실행하는 프로그램입니다.

프로그램이 짧고 복잡하지 않고, 대화형 프로그램에서 많이 사용됩니다.

 


컴파일러는 번역, 인터프리터는 통역이라고 이해하면 쉽습니다.

 

 

 

 

 

         3. 차이점

 



컴파일러와 인터프리터의 차이점을 위 표에 간단하게 정리해보았습니다.

 

       컴파일러(Compiler)

 컴파일러는 컴파일 과정이 복잡하고 그 시간이 많이 걸리게 되는데, 한 번 컴파일 하면 그대로 사용이 가능합니다.

전체 실행 시간 면에서 매우 효율적이며, 매번 번역할 필요가 없다는 것이 장점입니다.

하지만 한 줄의 입력 시 때로는 프로그램이 몇 백 개의 기계어로 번역되기 때문에 큰 기억용량을 요구하게 됩니다.

특히 입출력 명령은 입출력 형식을 위한 코드 외에 기계 상태 파악코드로 인해 큰 기억 장치가 요구됩니다.

 

       인터프리터(Interpreter)


인터프리터는 프로그램이 될 때까지 원시 언어의 형태를 유지하기 때문에 기억 장소가 추가로 필요하지 않습니다.

하지만 원시프로그램을 직접 실행하기 때문에 이 실행에 필요한 소프트웨어가 항상 기계 안에 상주하면서

원시 프로그램의 명령들을 받아서 처리하게 됩니다. 반복하여 실행하는 경우에는 그 때마다 원시 프로그램을

해석하여 처리하기 때문에 많은 시간이 걸리기도 합니다.

 

 

 

 

 

         4. 차이점

컴파일러는 실행 시간의 효율을 중하는 프로그래밍 언어에서, 

인터프리터는 사용자의 융통성을 중시하는 프로그래밍 언어에서 주로 사용됩니다.

 

 


 

'게임개발공부 > 무작정퍼오기' 카테고리의 다른 글

explicit 키워드에 대하여  (0) 2014.01.09
함수객체  (0) 2013.12.29
DLL만 로딩해도 컴퓨터가 뻗는경우.  (0) 2013.12.21
volatile (퍼온글)  (0) 2013.12.21
extern "C" 이건 뭔가? (퍼온글)  (0) 2013.12.21
Posted by JJOREG