Linux

ld linker (링커)

chbae 2023. 4. 18. 18:22
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