컴파일은 소스 코드를 기계어나 0과 1로 구성된 이진 코드로 변환하는 과정을 말합니다. 소스 코드는 사람이 이해하기 쉬운 고수준 언어로 작성되어 있지만, 컴퓨터는 이를 이해하지 못합니다. 컴파일러는 소스 코드를 분석하고, 문법 검사, 최적화, 기계어로의 변환 등의 작업을 수행하여 실행 가능한 목적 코드(Object Code)를 생성합니다.
링크는 프로그램에 필요한 여러 개의 목적 코드(프레임워크)나 라이브러리 형태로 구성된 코드를 연결하는 과정입니다. 링크를 통해 프로그램의 각 부분이 서로 연결되고, 실행 가능한 파일(Executable)이 생성됩니다.
간단하게 실행 가능한 파일을 만드는 순서는 코딩, 컴파일링, 링크입니다.
Compile + Link = Build 라고 합니다.
컴파일 타임은 개발자가 코드를 작성하고 컴파일을 실행하는 시점을 가리킵니다. 컴파일 타임에서 발생하는 오류는 주로 문법 오류나 타입 오류 등이며, 이러한 오류는 컴파일 시점에서 발견됩니다.
런타임은 프로그램이 실행되고 동작하는 시간을 의미합니다.런타임에서 발생하는 오류는 주로 실행 중에 예외가 발생하는 경우나 논리적인 오류 등이며, 이러한 오류는 프로그램이 실행되는 동안에 발견됩니다.