초보 코린이의 성장 일지

컴파일러 / 인터프리터 설명 및 차이 본문

개인 공부

컴파일러 / 인터프리터 설명 및 차이

코오린이 2023. 7. 18. 17:59

인터프리터
- 인터프리터는 자체 실행 기능이 없기 때문에, exe를 만드는 곳만 컴파일러 언어를 사용하고, 대부분 코드를 인터프리터 언어로 결합하는 경우가 많다.
- 실행이 시작되면 소스 코드를 한 줄씩 기계어로 번역하는 방식을 사용한다.
- 컴파일러는 문제가 발생하면, 소스 코드를 다시 컴파일하고 문제를 하나씩 찾아가며 해결해야하지만, 인터프리터는 소스코드만을 수정해서
실행시키면 끝이나기 때문에 과정이 간편하다
- 메모리를 사용하지 않는다.
- 오류 발생시마다 전체를 컴파일해 확인할 필요가 없으므로, 디버깅할때 편하며 효율적이다.
- 속도는 컴파일러보다 느린 단점이 있다.
- 코드 유출될 확률이 크다.

컴파일러
- 실행파일을 만들어 놓고 계속 사용하기 때문에 한번만 생성해 놓는다면, 런타임 상황일때는 이미 변환이 완료된 상태이므로 이후로는 바로 실행할 수 있게되므로 실행속도가 빠르다 
- 보안성이 뛰어나다. (코드 유출 x)
- 컴파일 에러가 발생하면 초기에 발견하기 좋다.
- 다른 프로그램에서는 실행할 수 없다는 단점이 존재
- 메모리를 많이 사용한다.
- 반복처리가 많을 경우, 변환과 실행 과정을 거쳐애 하기 때문에 번거롭고 시간이 오래걸린다.

컴파일러 과정 
- 소스 코딩 -> 전처리(preprocess) -> 컴파일 -> Assemble -> Link -> exe 생성.

'개인 공부' 카테고리의 다른 글

C++ Extern  (0) 2023.07.21
C++과 C#의 차이  (0) 2023.07.18
CBD (Component Based Development) 개발 방법론  (0) 2023.04.19
소프트웨어 낮은 결합도 / 높은 응집도  (0) 2023.04.10
레이스컨디션 (Race Condition)  (0) 2023.04.10
Comments