본문 바로가기

프로그래밍 공부방/C 프로그래밍 방

C Programming - 1.3 링커

C 프로그램 원시파일(.c로 끝나는 코드 파일)을 컴파일 전에 전처리기에서 헤더 파일의 정보를 추가해주면, 기계어로 번역된 목적파일로 바꾸어준다. 그렇지만 목적 파일에서는 라이브러리 함수 호출들이 필연적으로 포함되어 있기 때문에 컴파일 과정에서 컴파일러가 이러한 라이브러리 함수의 이름을 기억해두면 링커(linker)가 이미 컴파일 되어있는 표준 라이브러리 파일*에서 이름에 해당되는 목적 코드를 찾아 사용자가 작성한 코드와 조합시켜준다. 이러한 과정을 연결(linking)이라고 한다. 링커는 이러한 연결 작업을 독립적으로 컴파일 된 여러 개의 목적 코드를 하나의 프로그램으로 연결 완성하는 기능을 수행한다.

* 표준 라이브러리 파일 : 시스템 제공 라이브러리, 상용 라이브러리, 사용자 작성 라이브러리 등이 있다.