프로그램은 컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 번역되어 실행될 수 있는 파일이 된 것을 의미한다.
소스코드의 주석제거와 #include 등 헤더파일을 병합하고 매크로를 치환한다.
오류처리, 코드최적화 작업을 통해 어셈블리어로 변환한다.
어셈블리어는 목적코드(object code)로 변환된다.
이때 확장자는 운영체제 마다 다르다.
프로그램 내에 있는 라이브러리 함수 등과 결합해 실행파일이 만들어진다.
.exe, .out이라는 확장자를 갖는다.