컴파일러 2

컴파일 타임 (Compile Time) vs 런타임 (Runtime)

컴파일 타임 vs 런타임컴파일 타임 (Compile Time) :프로그램이 실제로 실행되기 전에 코드가 컴파일되는 시점문법 검사, 타입 체크, 오류 탐지, 고정된 메모리 할당이 이루어짐예: 전역 변수의 메모리 공간이 예약됨, 구문 오류 발견런타임 (Runtime) :프로그램이 실제로 실행되고 있는 시점동적 메모리 할당, 함수 호출, 사용자 입력 처리 등이 이루어짐예: 함수 실행 중 변수에 값이 할당됨, 동적 메모리 사용컴파일 타임 오류 vs 런타임 오류컴파일 타임 오류 (Compile Time Error) :프로그램을 컴파일하는 과정에서 발생하는 오류. 주로 문법 오류나 타입 불일치예: int a = "hello"; 와 같이 타입이 맞지 않는 경우런타임 오류 (Runtime Error) :프로그램이 실행..

CS/Compilers 2024.10.06

컴파일러 (Compiler) vs 인터프리터 (Interpreter)

컴파일러 언어:소스 코드를 한 번에 읽어 들여 기계어로 변환 후 해당 실행 파일을 독립적으로 실행파일 실행 시 기계어로 변환된 실행 파일을 사용하므로 실행 속도가 빠름소스 코드가 컴파일되어 있으므로 배포 시 소스 코드 포함 불필요소스 코드 변경 시 다시 컴파일 과정이 필요하며, 이 과정에서 시간 소요대표 언어: C, C++, Go, Rust인터프리터 언어:기계어로 변환하는 과정 없이 인터프리터를 통해 소스 코드를 한 줄씩 읽어가며 즉시 실행파일 실행 시 매번 코드 해석이 이루어지므로 실행 속도가 느림소스 코드가 그대로 노출되어 배포 시 소스 코드 보호가 어려움소스 코드 변경이 발생해도 컴파일 과정이 없어 빠르게 결과를 확인할 수 있으며 디버깅 시간 단축대표 언어: Python, JavaScript, Ruby

CS/Compilers 2024.10.06