파이썬이나 C++로 코드를 작성합니다. 컴퓨터는 이진수만 이해합니다. 컴파일러는 소스 코드를 기계어로 변환하는 프로그램입니다. 컴파일러는 프로그램 전체를 읽고 오류를 검사한 후 실행 파일을 생성합니다. 컴파일이 완료되면 프로그램은 컴파일러 없이 바로 실행됩니다.
컴파일러는 단순히 명령어를 번역하는 것 이상의 역할을 합니다. 최적화도 수행합니다. 좋은 컴파일러는 중복되는 명령어를 제거하고, 연산 순서를 재정렬하며, 레지스터를 효율적으로 할당합니다. 단순한 번역과 최적화된 번역의 속도 차이는 최대 10배에 달할 수 있습니다.
컴파일 단계
- 어휘 분석: 코드를 토큰으로 분해합니다.
- 구문 분석: 구문 트리를 구축합니다.
- 의미 분석: 유형 및 범위 확인
- 최적화: 성능 향상
- 코드 생성: 기계어 코드를 생성합니다.
모든 언어가 컴파일러를 사용하는 것은 아닙니다. 파이썬과 같은 인터프리터 언어는 코드를 한 줄씩 실행합니다. JIT(Just-in-Time) 컴파일러는 두 가지 방식을 혼합하여 실행 시간에 자주 사용되는 코드 경로를 컴파일합니다. 각 방식은 시작 속도를 희생하는 대신 실행 속도를 높입니다.
Comments
No comments yet. Be the first to share a thought.
Leave a comment