728x90
링킹 과정은 조각난 object 파일들을 하나의 바이너리 이미지로 합치는 과정이다. 이 과정은 결합(merge)과 재배치(relocation)로 이루어 진다.
1. 결합(merge)
여러 ELF 바이너리 포맷으로 구성된 조각난 object 파일들은 최종 바이너리 이미지로 합쳐져 하나의 ELF 실행 파일을 구성한다. ld 명령어에 넣은 인자 순서대로 각 섹션에 들어간다.
2. 재배치(relocation)
단순히 결합 과정에 합쳐진 각 섹션을 실제 코드에 맞도록 조정하는 과정이다.
위의 그림에서 Linking View는 object 파일의 형식이고 Execution View는 linking 후 최종 하나의 실행 파일의 형식을 나타낸다.
'Linux' 카테고리의 다른 글
리눅스에서 사용하는 바이너리 유틸리티 (0) | 2023.04.18 |
---|---|
ELF 바이너리 파일 포맷 구조 (0) | 2023.04.18 |
gcc compiler - 2부 (마지막) (2) | 2023.04.18 |
gcc compiler - 1부 (0) | 2023.04.18 |
shell script 색상 변경 (0) | 2023.04.18 |