컴파일러(compiler)
고수준 레벨 프로그래밍 언어를 저수준언어인 기계어, 어셈블리어로 번역하는 기능이다.
인터프리터와는 대비되게, 파일 전체를 한 번에 번역하고 컴퓨터가 실행가능한
목적프로그램으로 저장된다.
문법적인 에러가 발생하면, 컴파일 단계에서 발생하는데 이를 "컴파일에러"라고 부른다.
에러가 발생하면 실행할 수 없기 때문에, 초기에 에러를 찾아낼 수 있다.
컴파일러 언어종류
C
C++
컴파일러 장점
- 코드작성이 끝나면 한 번에 번역 후 처리하기 때문에 속도가 빠르다.
- 에러 발생을 초기에 찾아낼 수 있다.
- 0과 1인 기계어로 번역되기 때문에 소스코드 유출이 되지 않는다.
컴파일러 단점
- 코드를 수정하면 컴파일작업을 다시 해야한다.
- 실행파일 전체를 번역하고 처리해야 하기 때문에 용량이 크다.
- 목적프로그램을 위해 메모리를 사용한다.
- 특정 시스템에서 만들어진 파일이, 다른 시스템에선 실행되지 않을 수 있다.
(이식성이 나쁘다)