본문 바로가기

compiler2

[VS] Compiler vs JIT Compiler 안녕하세요. TDR입니다. 오늘은 일반적인 컴파일러와 Just-In-Time(JIT) 컴파일러를 비교해 보겠습니다. 우선 각각의 정의를 간단히 알아보면 다음과 같습니다. Compiler 소스 코드 전체를 읽고 해석하여 중간 코드나 목적 코드로 생성하는 것 JIT Compiler 소스 코드의 일부 또는 전체를 기계 코드로 런타임(실행 중) 생성하는 것 기계 코드(중간 코드 or 목적 코드)를 생성하는 것 자체는 동일합니다. (그게 Compiler의 역할이니) 중요한 것은 "시점"입니다. 이미 잘 아시겠지만, C, C++ 같은 언어는 사전에 소스 코드와 헤더 파일, 라이브러리 등등을 모두 컴파일하여 실행 시점에는 고속으로 실행할 수 있습니다. 반면 Java의 Hotsopt VM이나 .NET의 CLR(공용 언.. 2024. 2. 18.
[C/C++]컴파일 & 링크 우리는 흔히 '프로그램을 컴파일 한다.'라고 말을 하지만 정작 그 의미를 정확히 알고 있는 사람은 그렇게 많지는 않은 것 같다. 그래서 컴파일 & 링크에 대해 간단히 쓰자면... 우선 아래의 그림을 보자. ▶ Souuce File - *.cpp or *.c 등의 소스 파일 들. 위에 그림에는 생략됐지만 *.h 파일등도 섞여 있다. ▶ Preprocessor - 컴파일 정의 준비 처리로서, 다음 처리를 한다. 하는 일은 코멘트 삭제, 파일의 인클루드, 인라인의 전개이다. ▶ Compiler - 소스 파일이나 페더 파일에 코딩된 C/C++ 코드를 컴퓨터의 언어(기계어)로 번역(컴파일)한다. ▶ Object Files - *.obj, *.o등의 컴파일러에 의해, 기계어로 번역된 상태의 프로그램 소스 ▶ Lin.. 2009. 7. 22.