OS별 library path 에 사용되는 변수명


SHLIB_PATH

  • HP UX :

휴렛 팩커드사에서 나온 유닉스 계열 운영 체제이다.

ex) export SHLIB_PATH = $SHLIB_PATH: 경로


LIBPATH

  • IBM AIX :

AIX는 IBM에서 개발한 운영 체제이다. 원래는 Advanced IBM Unix의 약자였으나 현재는 Advanced Interactive eXecutive의 약자로 바뀌었다. IBM사에서 자사의 워크스테이션인 IBM RTPC를 위해 개발한 일종의 유닉스 계열 운영 체제이다.

ex) export LIBPATH = $LIBPATH: 경로


LD_ LIBRARY_PATH

  • linux,
  • Solaris,
  • HP UX on intel,
  • Itanium(isa64) :

Intel Itanium 아키텍처 IA-64 (Intel Itanium 아키텍처)는 Itanium 64 비트 Intel 마이크로 프로세서 제품군의 ISA (명령어 집합 아키텍처)입니다. (translate.google.com) ^^

ex) export LD_LIBRARY_PATH = $LD_LIBRARY_PATH: 경로

참조 링크 : https://shonm.tistory.com/604

JNI

(Java Native Interface)

c/c++ 모듈간의 인터페이스 역할을 하여 각각의 프로그래밍언어로 개발이 가능하게 해줌.

System.loadlibrary(“”);

환경변수 path(library path)에 지정된 경로를 찾아서 참조

Static{
	System.loadlibrary(“”);
}

에서 사용되며, 클래스가 메모리에 올라갈때 자동생성되어 네이티브 모듈이 제대로 초기화되지 않고 메소드를 사용할때 발생하는 오류를 방지해준다

System.Load(“절대경로지정”);

절대경로

Static{
	System.load(“”);
}

###ELF
(Executable and Linkable Format)

ELF는 실행 파일, 목적 파일, 공유 라이브러리 그리고 코어 덤프를 위한 표준 파일 형식이다. 1999년 86open 프로젝트에 의해 x86 기반 유닉스, 유닉스 계열 시스템들의 표준 바이너리 파일 형식으로 선택되었다

Executable and Linkable Format, 또는 ELF. ELF는 유닉스 계열 운영체제의 실행, 오브젝트 파일, 공유 라이브러리, 또는 코어 덤프를 할 수 있게 하는 바이너리 파일이다. 간단히, 실행 파일이다. 원래 뜻은 Extensible Linking Format 이라는 뜻을 가지고 있었다.

사용하는 운영체제는 유닉스, BSD, 솔라리스, 그리고 리눅스가 있다. 아무리 같은 바이너리 포멧이라하여도, 서로 호환이 되지 않는다. 예를 들어, 리눅스 프로그램을 솔라리스에서 돌리려고 하면 에러가 나온다.

참조 링크: https://namu.wiki/w/ELF

* 관련 명령어

file

file -bi <파일>

bootloader

objdump

objdump -p <파일>

objdump -i <파일>

objdump -a <파일>

ldd

ldconfig