컴파일러와 인터프리터 둘다 프로그래밍 언어로 작성된 코드를 실행할수있도록 도와주는 도구입니다! 하지만 엄밀하게 말하면 둘을 다르다고 할수있습니다! 바로 알아보겠습니다!!
> 컴파일러
- 컴파일러의 경우에는 소스코드를 한 번에 전체적으로 컴파일하여 기계어로 변환해서 그 결과물을 실행 가능한 바이너리 파일로 생성합니다
(실행 속도는 빠르지만 코드 수정 후 다시 전체를 컴파일 해야 해요!)- 바이너리 파일을 실행하면 컴파일하면서 생성된 기계어 코드를 실행합니다
- 컴파일 된 파일은 OS나 CPU아키텍처와 호환성이 있어야합니다!
#대표적으로 C, C++ 언어에서 사용하는 gcc 컴파일러가 있습니다
(소스코드 전체 읽고) ->컴파일 -> 기계어 변환 ->바이너리 파일 생성!
인터프리터
- 인터프리터의 경우 소스코드를 한 줄씩 읽어 바로바로 실행합니다
(그래서 실행 시점에 코드가 번역되고, 컴파일러에 비해 실행 속도가 느려요 but! 코드를 수정하고 바로바로 실행 결과를 확인할 수 있어요!)
#대표적으로 Python, JavaScript가 인터프리터를 사용해요!
(소스코드 한 줄씩)->읽고 -> 바로 실행!!