so 형식 파일이 무엇인가요?
SO 파일 형식은 ELF 파일 형식으로 Linux 환경에서 실행 파일, 공유 라이브러리 파일, 타겟 파일을 통일한 형식이다.
ELF 파일을 보는 방식에 따라 ELF 파일은 링크 뷰와 로드 뷰로 나눌 수 있습니다. 링크 보기는 링크 관점에서 정적 ELF 파일에 대한 링커의 보기입니다.
링크 보기에서 ELF 파일을 보면 ELF 파일은 여러 섹션으로 구성되어 있으며 섹션마다 이름과 권한이 다릅니다. 로딩 보기는 ELF 파일을 메모리에 로드하는 관점에서 운영 체제의 동적 ELF 파일 보기입니다.
로딩 뷰에서 ELF 파일을 보면 ELF 파일은 여러 개의 세그먼트로 구성되어 있으며 각 세그먼트에는 서로 다른 권한과 이름이 있습니다. 실제로 세그먼트는 동일한 권한을 가진 여러 섹션의 모음입니다.
확장 정보:
Android 운영 체제의 하위 계층은 Linux 시스템을 기반으로 하기 때문에 SO 파일은 Android 플랫폼에서 실행될 수 있습니다. Android 시스템은 개발자가 네이티브 프로그램을 개발할 수 있도록 C/C++ 인터페이스도 제공합니다.
가상 머신 기반 프로그래밍 언어인 JAVA는 디컴파일이 쉽기 때문에 C/C++를 핵심 코드의 프로그래밍 언어로 사용하고 이를 SO 파일 형식으로 상위 계층에 제공하는 애플리케이션이 점점 더 많아지고 있습니다. . 보안을 보장하기 위한 JAVA 코드 호출.
ELF 헤더 테이블에는 매직 넘버, 대상 파일 유형(실행 파일, 공유 라이브러리 파일 또는 대상 파일), 파일의 대상 아키텍처 및 프로그램 항목 주소(공유 라이브러리 파일의 경우 이 값은 0), 섹션 테이블의 크기 및 개수, 링크 뷰 및 로드 뷰에 각각 해당하는 프로그램 헤더 테이블의 크기 및 개수입니다.