공유라이브러리
이름
libc.so.[version number].[minor version].[release number]
version에 따라 접미사가 붙는다.
예) libc.so.5.m.r
library name
첫번째 확장자까지를 뜻함.
예) lib.so
soname
버전 번호까지 표시되어 있다.
soname은 symbolic link로 되어 있고 최신 버젼과 연결되어 있다.
예) libc.so.[version number]
※ 컴파일러는 library 파일을 이용한다.
※ 실행시에는 soname을 이용한다.
ldconfig
soname을 최근 버젼과 symbolic link로 연결되게 한다.
공유라이브러리 제작방법
1. 공유라이브러리 object 파일을 만든다.
gcc -fPIC -c lib?.c
2. 공유라이브러리를 만든다.
gcc -shared -Wl,-soname,lib?.so.0 -o lib?.so.0.0 lib?.o -lc
3. 라이브러리 경로 환경변수를 설정한다. (현재 디렉터리로)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
4. soname을 symbolic link로 설정한다.
/sbin/ldconfig -n .
5. library 파일을 symbolic link로 설정한다.
ln -sf lib?.so.0 lib?.so
일반 프로그램과 공유라이브러리 연결
1. 프로그램 파일 컴파일
gcc -c demo_use.c -o demo_use.o
2. 프로그램 생성
gcc -o demo_use demo_use.o -L. -l?
3. 프로그램 실행
'컴퓨터 공부 > 유닉스 시스템 프로그래밍' 카테고리의 다른 글
[4월 23일 1교시] GNU make (0) | 2009.04.23 |
---|---|
[4월 22일 3교시] GDB - GNU Debugger (0) | 2009.04.22 |
[4월 22일 1교시] (0) | 2009.04.22 |
[스터디] Beginning Linux 4e - 4. 리눅스 환경 (0) | 2009.04.21 |
쉘 명령어 (0) | 2009.04.21 |