먼저 C 코드 를 컴퓨터가 이해할 수 있는 언어로 바꿔주는 컴파일(compile) 이라는 과정이 진행됩니다. 이는 단일소스코드전체를어셈블리어(기계어와1: 1대응이되어있음)로변환해줍니다(이때, 목적코드라 불리는 확장자가 .o 인 파일이 생성됩니다). 이 과정이 끝나게 되면 링킹(linking) 이라는 과정이 진행되는데 말그대로 각기 다른 파일에 위치한 소스 코드들을 한데 엮어서 하나의 실행 파일로 만들어지는 과정이라 생각하시면 됩니다. 링킹 과정에서 특정한 소스 파일에 있는 함수들이 어디어디에 있는지 찾는 과정을 거치게 되는데 예를 들어서 test.c 의 경우 compare 함수가 어디있는지 찾게 됩니다. (눈치가 빠른 독자라면 printf 함수 역시 찾아야 함을 알 수 있는데 이에 대한 설명은 나중에 하..