컴파일러
- 컴파일러는 프로그래밍 언어로 쓰여있는 문서를 컴퓨터가 이해할 수 있는 기계어로 번역한다음 Control Unit에 전달합니다.
- 이때, 전해받은 내용이 어떤 역할을 하는 코드인지는 모르고 단순히 전해받은 형태로 실행합니다.
- 컴파일 과정
- 특정 목적을 위한 코드 작성(원시코드 Source Code)
- 컴파일 실행
- 기계어 번역(목적코드 Object Code) ⇒ 실행파일
- 기억장치에 저장
- 메인 메모리에 올라간 후 실행
- 컴파일 대표 언어
- 이 언어들은 위의 과정을 거치지 않고 번역한 다음 바로 실행합니다.
- C
- C++
- 장점
- 한번에 미리 번역합니다.
- 오류가 생기면 실행이 불가능하기 때문에 배포시 구문 오류가 존재할 수 없습니다.
- 기계어를 직접 만들어 내기 때문에 실행만 하면 되어 수행성능이 좋습니다.
- 별도의 실행환경이 존재하지 않아 메모리 관리도 직접 해야합니다.(단점이 될 수 있다.)
인터프리터
- 인터프리터는 코드를 바로 기억장치에 저장하고 실행시킬때, 기계어의 번역을 도와주는 역할을 합니다.
- 인터프리터 과정
- 특정 목적을 위한 코드 작성
- 기억장치에 저장
- 실행(한 줄씩 실행된다.)
- 인터프리터 번역
- 인터프리터 대표 언어
- 자바 (컴파일 형식으로도 반은 실행할 수 있다.)
- 파이
- 자바스크립트
- 장점
- 실행기(가상머신)기 있으면 어디서든 실행이 가능하다.
- 코드를 해석하는데 한 줄씩 해석하기 떄문에 적은 시간이 걸린다.
- 단점
- 코드를 한 줄씩 실행시키기 때문에 수행성능이 낮아진다.
- 코드가 노출될 위험이 있다.
'이론' 카테고리의 다른 글
| 원형 큐 (0) | 2024.03.27 |
|---|---|
| Queue (0) | 2024.03.26 |
| 컴파일링의 각 과정과 결과물 (0) | 2024.03.23 |
| 데드락 예방조건 4가지 (0) | 2024.03.20 |
| 데드락(deadlock) 발생조건 4가지 (0) | 2024.03.19 |