C언어는 컴퓨터에게는 고급 언어이기 때문에 컴퓨터가 직접 이해할 수 없다. 따라서 컴파일러를 사용하여 기계가 이해할 수 있는 코드로 변환하는 과정이 필요하다. C언어의 컴파일 과정은 크게 네 단계로 나눌 수 있다.

1. 전처리 (Preprocessing)
#include, #define, #ifdef 등의 전처리 지시어를 처리한다.#include지시어가 있는 경우, 해당 파일의 내용을 소스 코드 파일에 포함시킨다.#define)를 실제 값으로 대체한다.2. 컴파일(Compile)
3. 어셈블리(Assembly)
.o또는.obj)이 생성된다.4. 링킹(Linking)
GCC는 GNU Compiler Collection의 약자로, C를 비롯한 여러 프로그래밍 언어를 지원하는 컴파일러 모음이다.
GCC는 자유-오픈 소스 소프트웨어로, 다양한 운영 체제에서 사용할 수 있다.
$ gcc -o output_file source_file.c
이다.
-o 옵션을 통해 출력될 실행 파일의 이름을 지정할 수 있다.# 전처리, 컴파일, 어셈블리, 링킹 단계를 모두 포함하여 실행 파일(program) 생성
gcc -o program main.c
# 각 단계별로 파일을 생성하여 컴파일 과정을 분석할 수 있음
gcc -E main.c -o main.i # 전처리 결과
gcc -S main.i -o main.s # 컴파일 결과 (어셈블리 코드)