'리눅스 LD 프로그램'과 같은 정적 링커들은 재배치 가능한 목적파일들과 명령줄 인자 (command-line arguments)를 입력으로 받고, 실행될수 있는 완전한 목적파일을 출력으로 생성한다.
Symbol resolutin (심볼해석)
심볼은 함수, 전역변수, static 으로 선언된 모든 변수들을 심볼 정의에 연결한다.
The purpose of symbol resolution is to associate each symbol reference with exactly one symbol definition.
즉, 각각의 함수, 전역변수, 정적 변수들을 각각의 '심볼 정의'에 대응 시키는 것으로 생각하자!
Relocation (재배치) :
컴파일러와 어셈블러는 주소 0번지에서 시작하는 코드와 데이터 섹션들을 생성한다. 링커는 이 섹션들을 각 심볼 정의와 연결시켜서 재배치 시키고, 이 심볼들로 가는 모든 참조들을 수정하여 심볼의 메모리 위치를 가르키도록 한다. 링커는 'Relocation entries (재배치 엔트리)'라고 부르는 어셈블러가 생성한 상세한 지시사항들에 따라 이러한 재배치 작업을 수행한다.