1. 로딩 경로
- /lib 및 /usr/lib와 같은 기본 라이브러리 로드 경로
- ldconfig는 로드 경로를 지정합니다. 구성 파일 /etc/ld.so.conf에서 동적 라이브러리 검색 경로를 지정합니다.
- 지정된 로딩 경로 컴파일: gcc 매개변수 "-Wl,-rpath,"를 통해 대상 코드를 컴파일할 때 프로그램의 동적 라이브러리 검색 경로를 지정합니다.
- 환경 변수는 로딩 경로 지정: 환경 변수 LD_LIBRARY_PATH를 통해 동적 라이브러리 검색 경로 지정
2. 로딩 순서
높음에서 낮음으로 동적 라이브러리의 검색 우선순위 로드:
- 지정된 로딩 경로 컴파일
- 환경 변수는 로드 경로(LD_LIBRARY_PATH)를 지정합니다.
- ldconfig는 로딩 경로를 지정합니다.
- 기본 라이브러리 로드 경로
설명하다:
"/usr/local/lib" 및 "/usr/local/lib/x86_64-linux-gnu, /lib/x86_64-linux-gnu 및 /usr/lib/x86_64-linux-gnu는 모두 ldconfig 지정 로딩 경로입니다. 위치는 각각 /etc/ld.so.conf.d/libc.conf 및 /etc/ld.so.conf.d/x86_64-linux-gnu.conf에 있습니다.
/etc/ld.so.conf 파일의 내용을 확인합니다. /etc/ld.so.conf.d/*.conf를 포함하므로 실제로는 /etc/ld.so.conf의 각 구성 파일입니다. .d 디렉토리, 내 환경은 다음과 같습니다.
libc.conf
libnginx.conf
x86_64-linux-gnu.conf
위의 환경에 따라 더 자세한 라이브러리 경로 우선 순위는 다음과 같습니다.
- 지정된 로딩 경로 컴파일
- 환경 변수는 로드 경로(LD_LIBRARY_PATH)를 지정합니다.
- ldconfig는 로드 경로를 지정합니다: /usr/local/lib
- ldconfig는 로딩 경로를 지정합니다: libnginx.conf의 내용
- ldconfig는 로드 경로를 지정합니다: /usr/local/lib/x86_64-linux-gnu, /lib/x86_64-linux-gnu 및 /usr/lib/x86_64-linux-gnu
- 기본 라이브러리 로드 경로: /lib 및 /usr/lib