C언어. 컴파일 과정 알아보기

1 분 소요

🌟 컴파일이란?

컴파일(compile)이란 사람이 짠 프로그램 코드를 컴퓨터가 이해할 수 있는 언어로 변환하는 과정을 말한다. 즉, 고급 언어어셈블리어기계어로 변환시킨다고 보면 됨!

📌 고급 언어란?

사람이 프로그래밍을 할 때 사용하는 언어를 말한다. C, C++, Java 등이 여기에 해당된다.

📌 기계어란?

기계어는 CPU가 직접 해독하고 실행할 수 있는 비트 단위의 컴퓨터 언어를 말한다. 0과 1로 이루어져 있으며, 보통 어셈블리어의 명령을 받고 행동을 수행한다.

📌 어셈블리어란?

기계어를 보완하기 위해 나온 게 어셈블리어이며, 기계어와 1대1 대응이 된다. CPU 종류에 따라 달라지며, 보통 ADD A, 1 = A에 1을 더하기, SUB A, 1 = A에 1을 빼기, 이런 식으로 생겼는데 난 쓸 일이 없다.

기계어와 어셈블리어 모두 저급 언어라고 한다! 컴퓨터가 이해하기 쉽게 작성된 프로그래밍 언어라는 뜻!

🌟 컴파일 과정

1. 전처리기

전처리기는 컴파일러가 이해할 수 있도록 언어를 번역하고, 컴파일러의 효율을 높이는 역할을 한다. 또한 전처리 과정에서는 헤더 파일과 매크로의 치환이 적용된다.

2. 컴파일러

컴파일러는 저수준 언어로 바꾸는 역할을 한다. 저수준 언어란 저급 언어와 가까운 상태라고 함!

3. 어셈블러

바뀐 언어를 완전히 기계어로 바꾸는 역할을 한다.

4. 링커

여러 개의 오브젝트 파일을 합치거나, 프로그램에서 사용된 여러 라이브러리를 합칠 때 링커가 사용된다. 링킹 과정이 끝나면 실행 파일이 만들어진다. 그럼 끝!


대충 어떤 순서로 컴파일이 되는 지 살펴 봤는데, 나중에 시간되면 더 자세하게 알아봐야겠다! 오늘은 여기서 끝!

댓글남기기