-rpath와 -L의 차이점은 무엇입니까?
gcc
및 ld
라이브러리-사이에 그들에게 대한 검색 경로를 지정하는 방법에는 여러 가지 제공 -rpath
하고 -L
플래그를. 맨 페이지는이 두 플래그 사이에 차이가 없음을 나타내며 각 플래그가 라이브러리 검색 경로에 라이브러리를 추가한다고 효과적으로 말합니다. 그러나 모두 플래그를 수행하는 것이 이상한 것 같다 정확히 같은 일을. 이 두 옵션의 차이점은 무엇입니까?
맨 페이지의 오래된 사본을 읽고 있어야합니다 (강조 추가됨).
-rpath = dir 런타임 라이브러리 검색 경로에
디렉토리를 추가합니다 . ELF 실행 파일을 공유 객체와 연결할 때 사용 됩니다. 모든 -rpath 인수는 연결되어 런타임 링커에 전달되어 런타임에 공유 객체를 찾는 데 사용 됩니다.
대
-L searchdir
--library-path = searchdir ld 가 아카이브 라이브러리 및 ld 제어 스크립트를 검색 할
경로 목록에 searchdir 경로를 추가합니다 .
따라서 링크 할 때 링크 할 라이브러리를 찾을 위치를 -L
알려줍니다 ld
. 예를 들어 빌드 트리의 라이브러리에 대해 빌드 할 때 이것을 사용합니다. 이는 .NET에 의해 일반 시스템 라이브러리 경로에 배치됩니다 make install
. --rpath
반면에는 실행 파일 내에 해당 경로를 저장하므로 런타임 동적 링커가 라이브러리를 찾을 수 있습니다. 라이브러리가 시스템 라이브러리 검색 경로 밖에있을 때 이것을 사용합니다.
참고 URL : https://stackoverflow.com/questions/8482152/whats-the-difference-between-rpath-and-l
'IT TIP' 카테고리의 다른 글
장고에서 나만의 컨텍스트 프로세서 만들기 (0) | 2020.10.19 |
---|---|
변수를 런타임에만 알려진 유형으로 변환 하시겠습니까? (0) | 2020.10.19 |
nginx 하위 도메인 구성 (0) | 2020.10.19 |
Android 장치가 iBeacon으로 작동 할 수 있습니까? (0) | 2020.10.19 |
var self = this입니다. (0) | 2020.10.19 |