[프로그램과 컴파일 과정]
·
CS/Computer Architecture
프로세스는 메모리에 올려진 프로그램을 말한다. 프로그램은 컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 언어로 번역되어 실행될 수 있는 파일을 의미한다. 컴파일 과정 참고로, 위의 그림은 C언어 기반의 프로그램을 기준으로 컴파일 과정을 도식화한 것이다. (번역과 실행이 동시에 이루어지는 인터프리터 언어로 된 프로그램과 다르다) 전처리: #으로 시작하는 구문을 읽으면서 필요한 헤더 파일을 병합한다. 컴파일러: 소스코드를 어셈블리어로 변환해준다. 즉, 고수준 언어를 저수준 언어로 변환해주는 것이다. 이때, 오류를 처리하고 코드 최적화 작업을 한다. 어셈블러: 어셈블리어를 목적코드로 변환해준다. 즉, 기계어로된 파일로 변환해주는 것이다. 이때, 확장자는 운영처제마다 다른데, 리눅스에서는 .o 이다. ..