ELF (Executable and Linkable Format)

About_work·2023년 6월 26일
0

기타

목록 보기
3/5

정의

  • ELF는 "Executable and Linkable Format"의 약자로, 실행 파일과 라이브러리, 코어 덤프(core dump)를 위한 파일 형식
  • ELF 형식은 주로 유닉스 및 유닉스 계열 운영체제에서 사용되며,
  • ELF 파일은 여러 섹션으로 구성되어 있으며,
    • 각 섹션은 프로그램의 코드, 데이터, 심볼 테이블, 디버그 정보 등을 포함
  • 또한 ELF 파일은 실행 가능한 프로그램 또는 공유 라이브러리에 대한 링크 정보를 포함하고 있어, 실행 파일과 라이브러리가 서로 상호작용하고 정상적으로 실행될 수 있도록 합니다.
  • ELF 형식은 크로스 플랫폼 호환성과 유연성을 제공하며, 다양한 운영체제 및 아키텍처에서 실행 파일과 라이브러리를 사용할 수 있게 해줍니다.
  • ELF 파일 형식은 프로그램 개발 및 실행에 중요한 역할을 합니다.

DT_NEEDED?

  • ELF 파일은 동적 섹션에 다양한 종속성 정보를 포함할 수 있음

  • "DT_NEEDED" 태그는 ELF 파일의 동적(Dynamic) 섹션에서 사용되는 태그 중 하나

  • "DT_NEEDED" 태그는 해당 동적 섹션에서 필요로 하는 외부 라이브러리에 대한 정보를 제공

  • ELF 파일이 실행될 때, 동적 로더는 "DT_NEEDED" 태그를 확인하여 필요한 외부 라이브러리를 식별하고 해당 라이브러리를 로드

  • 이를 통해 실행 파일이나 공유 라이브러리가 필요로 하는 다른 라이브러리들과의 종속성을 해결하고, 실행 환경을 구성할 수 있음

  • 예를 들어, "libcuXXX.so"와 같은 라이브러리가 "DT_NEEDED" 태그를 가지고 있다면, 해당 ELF 파일이 CUDA 라이브러리에 종속되어 있음을 나타냅니다.

  • 프로그램이 실행될 때는 이러한 종속성을 충족하기 위해 CUDA 라이브러리를 시스템에 로드해야 합니다.

profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글