#include 처리)#include <stdio.h>와 같은 지시문을 만나면, stdio.h와 같은 헤더 파일의 내용이 메인 소스 파일에 복사되어 들어옵니다.printf와 같은 함수의 선언 (Declaration), 즉 함수의 이름, 반환 타입, 매개변수 정보만 포함되어 있습니다. 함수의 실제 구현 코드(바디)는 포함되어 있지 않습니다.printf() 호출을 만나면, 선언을 통해 그 형태가 유효함을 확인하고, 이 함수가 "외부 어딘가에 정의되어 있다"는 심볼(Symbol) 참조 정보만 목적 파일에 남깁니다.printf와 같이 정의가 없는 심볼(Undefined Symbols) 목록을 확인합니다.libc.a 또는 libc.so)을 탐색합니다.printf 함수의 구체적인 구현체 (이진 코드)가 정의되어 있습니다.printf 호출 위치와 연결(Link)해줍니다.결론적으로:
따라서 링커 단계가 되어서야 프로그램이 필요로 하는 모든 코드(사용자 코드 + 시스템/라이브러리 구현체)가 하나로 합쳐져 실행 가능한 파일이 됩니다.