링커
IT위키
더 많은 작업
- Linker; 링커, 연계 편집기(Linkage Editor)
- 프로그램을 실행 가능한 상태로 만들기 위해 여러 개의 목적 모듈을 하나로 묶는 역할을 하는 프로그램
- 컴파일러·어셈블러가 만든 목적 프로그램(목적 모듈) 여러 개와 라이브러리 함수를 하나로 합쳐 실행 가능한 로드 모듈을 만든다
- 다른 모듈에 있는 함수·변수를 가리키는 외부 참조를 해결해 실제 주소로 이어 준다
- 모듈마다 0번지에서 시작하던 주소를 합친 파일 안의 주소로 다시 맞춘다(재배치 정보 정리)
| 구분 | 정적 링킹 | 동적 링킹 |
|---|---|---|
| 시점 | 실행 파일을 만들 때 | 실행할 때(적재 시 또는 처음 호출 시) |
| 라이브러리 | 실행 파일 안에 복사된다 | 공유 라이브러리(.so, .dll)를 함께 쓴다 |
| 장단점 | 실행 파일이 크지만 혼자 돈다 | 실행 파일이 작고 메모리를 아끼지만 라이브러리가 있어야 돈다 |