Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- typescript
- Git
- css배경
- HTML
- 자바스크립트
- css필수 속성
- CSS
- 코딩 자율학습
- CPU
- propschildren
- https://api.jquery.com/
- css박스 모델
- 혼자 공부하는 컴퓨터구조+운영체제
- 브라우저 렌더링 원리
- TS
- 코딩 자율학습 html + css + 자바스크립트
- 코딩
- do it! 한권으로 끝내는 웹 기본 교과서 html+css+자바스크립트 웹 표준의 정석
- 비대칭키 암호화
- 메모리와 캐시 메모리
- 이벤트버블링
- 코딩 자율학습 html + css + 자바스크립트]
- 이벤트
- do it! html+css+자바스크립트 웹 표준의 정석
- JavaScript
- cpu 성능 향상 기법
- JS
- 코딩자율학습
- Do it
- react
Archives
- Today
- Total
게으른 나에게
[CS] - 컴파일러(Compiler)와 인터프리터(Interpreter) 본문
개요
- 컴퓨터는 고급 언어로 작성된 코드를 직접 이해하지 못함
- 기계어(Machine Code)로 변환하는 과정이 필요 → 방식 2가지
컴파일러(Compiler)
- 소스 코드를 한 번에 기계어로 변환 → 실행 가능한 바이너리 파일(실행 파일)을 생성
- 변환 과정에서 최적화(Optimization) 수행하여 실행 속도를 빠르게 함
컴파일러(Compiler) 특징
- 전체 코드를 스캔 후 컴파일 → 실행 파일 생성
- 오류를 한 번에 확인 가능
- 컴파일 시 오류 발생 시 실행 불가
- 초기 컴파일 시간이 오래 걸리지만, 이후 실행 속도가 빠름
- 최적화가 가능하여 대규모 프로그램에서 성능이 우수
✅ 장점
- 빠른 실행 속도 → 한 번 컴파일 후 실행하므로 성능이 우수함
- 코드 보안성 높음 → 컴파일된 실행 파일은 소스 코드가 노출되지 않음
❎ 단점
- 개발 속도 저하 → 코드 수정 후 다시 컴파일해야 실행 가능
- 운영 체제 종속적 → 특정 OS/아키텍처에서 실행 가능하며, 다른 환경에서 실행하려면 다시 컴파일 과정 필요
- 메모리 사용량 증가 → 최적화 과정에서 더 많은 메모리를 사용
💡 컴파일 언어
C, C++, Java, Go
인터프리터(Interpreter)
- 소스 코드를 한 줄씩 읽고 즉시 실행하는 방식
- 컴파일 과정이 없으며, 실행하면서 오류 확인 가능
인터프리터(Interpreter) 특징
- 빠른 개발 속도 → 코드 변경 후 즉시 실행 가능
- 동적 타이핑 지원 → 변수 타입을 명시하지 않아도 됨
- 코드 실행 중 오류 발생 시 즉시 중지
- 컴파일러와 다르게 실행 후 오류 확인
✅ 장점
- 빠른 개발 속도 → 코드를 수정 후 즉시 실행 가능
- 유연한 코드 작성 가능 → 변수의 타입을 명시하지 않아도 됨, 코드 작성 간결
- 메모리 효율이 높음 → 별도의 실행 파일을 생성하지 않음
❎ 단점
- 실행 속도가 느림 → 코드 실행 시마다 해석을 해야 하므로 속도가 느림
- 코드 보안 취약 → 소스 코드가 그대로 노출되므로 보안에 취약
- 대규모 프로젝트에서 성능 저하 가능 → 복잡한 연산 수행 시 비효율적
💡 인터프리터 언어
Python, JavaScript, Ruby
컴파일러 VS 인터프리터
구분 | 컴파일러 | 인터프리터 |
번역 방식 | 전체 코드 한번에 번역 후 실행 | 한 줄씩 번역하면서 실행 |
개발 편의성 | 코드 수정하려면 컴파일 다시 실행 | 코드 수정 후 즉시 실행 |
실행속도 | 빠름 (한 번만 변환 후 실행) | 느림 (실행 시 마다 해석) |
보안 | 코드 유출 X (기계어 변환됨) | 소스 코드 유출 O |
파일용량 | 큼 | 작음 |
오류 확인 | 컴파일 시 오류 한꺼번에 출력 | 실행 수 오류가 발생하면 즉시 중단 |
메모리 사용량 | 컴파일 과정에서 메모리 사용량 증가 | 실행 시 메모리 사용량 최적화 가능 |
'My Study > CS' 카테고리의 다른 글
[암호학] - 대칭 키 암호화와 비대칭 키 암호화 (1) | 2025.03.25 |
---|---|
[CS] - 코드 최적화(Code Optimization) (0) | 2025.03.24 |
[소프트웨어] - MVC(Model-View-Controller) 패턴 (0) | 2025.03.24 |
[컴퓨터 아키텍처] - CPU와 GPU (1) | 2025.03.23 |
[네트워크] - HTTP와 HTTPS (1) | 2025.03.23 |