TAG Clouds

New Postings

  • 사람은 실패를 계획하지 않는다. 다만 계획을 세우는 일에 실패할 뿐이다.
    - 존 버클리


프로그래밍
2005.09.29 10:50

라이브러리 만드는법

조회 수 9677 추천 수 9 댓글 0
1 정적 라이브러리(.a)
사용하기
ar rcs my_library.a file1.o file2.o gcc -o test1 test.o -lmy_library -L./

2 공유 라이브러리(.so)
만들기
gcc -fPIC -c a.c gcc -fPIC -c b.c gcc -shared -soname,libmystuff.so.1 -o libmystuff.so.1.0.1 a.o b.o -lc

사용방법
gcc -o test1 test.o -lmy_library
UNIX ( Linux, Solaris)
LD_LIBRARY_PATH
HU-UX
SHLIB_PATH
AIX
LIBPATH
so debug

$ export LD_DEBUG=files $ test.exe # 라이브러리를 다룰때 파일과 라이브러리의 동작을 보여주고, # 어떤 의존성이 발견되었고, 어떤 SOs(sonames)가 어떤 순서로 # 로드되었는지 말해준다. # LD_DEBUG를 bindings로 설정하는 것은 심볼제한에 대한 정보를 # 보여주고, libs에 설정하는은 것은 라이브러리 탐색경로에 대해서 보여주고, # version으로 설정하는 것은 버전 의존성을 보여준다. $ export LD_DEBUG=help <-- 도움말 출력

3 참조
관련 링크
http://kldp.org/HOWTO/html/Program-Library-HOWTO/index.html


------------------------------------------------------------------------------------------------

라이브러리 파일을 만들기 위해서는 먼저 오브젝트 파일을

생성해야 한다

예를 들어 a.c  b.c  두파일이 있다면.

gcc -c a.c b.c   이렇게 하면 a.o b.o 가 생긴다

이후 ar 명령어를 이용하면 라이브러리 파일이 생성되는데

.a 라는 라이브러리 파일 확장자 명으로 생성하기  위해서 r옵션을 사용한다

ar r libmy.a a.o b.o

이렇게 하면 libmy.a 파일이 생성된다

그리고 라이브러리 파일에 목록을 추가해야 하는데 다음과 같이

s 옵션을 주어 ar 명령어를 실행하면 라이브러리 파일이 생선된다

ar s libmy.a



--------------------------------------------------------------------------------


ar t libmy.a  라는 명령을 실행하면

a.o

b.o

이렇게 라이브러리 파일 내용을 보여준다



--------------------------------------------------------------------------------


-l 옵션

기능 : 표준 라이브러리 가 아닌 라이브러리를 사용할 때 지정해 준다

사용법 :gcc 소스파일이름 -l라이브러리이름

위에서 라이브러리 파일 libmy.a 의 라이브러리를 쓰고 싶을때는

                         libmy.a

lib 와 .a 를 제외한 my만쓴다

예) gcc ex.c -lmy

그런데 링커가 라이브러리를 찾을때는 표준라이브러리 파일의 디렉토리로

찾기 떄문에 자기가 만든 라이브러리디렉토리 는 찾지 못한다

이것은  -L 옵션을 사용해 해결할 수 있다

-L 옵션

-L 옵션

기능 : 사용할 라이브러리의 위치를 지정한다

사용법 : gcc 소스파일이름 -L라이브러리위치

예 ) gcc ex.c -lm -Lmylib

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수 추천 수
155 게임 오토봇 스트롱홀드(트랜스포머) Dreamy 2009.08.08 12452 0
154 성가대 이종철 신부님 말씀(성가대는 꼭 읽어보세요) Dreamy 2009.11.18 10828 0
153 성가대 전례력에 따른 특별 찬미가 선곡 목록 작성 Dreamy 2009.12.02 12808 0
152 인터넷 도움이 될만한 사이트 모음 (즐겨찾기 하고 자주 가보는사이트) Dreamy 2010.02.11 14287 0
151 일반 천문기호 모음 file Dreamy 2010.03.03 11546 0
150 일반 [ZBXE] 웹진, 갤러리에서 썸네일 클릭 시 원본 이미지 보기 Dreamy 2010.03.04 9829 0
149 일반 [ZBXE] 게시판(블로그)상단에 글쓰기 버튼이나 링크넣기 1 Dreamy 2010.03.04 14489 0
148 취미 Handel - Lascia ch'io Pianga Dreamy 2010.04.09 15266 0
147 성가대 결혼 축가용 편곡, 사랑 1 file Dreamy 2010.04.22 12751 0
146 성가대 귀도 다레쪼의 계명창법 file Dreamy 2010.04.23 14207 0
145 게임 일할때 몰래 게임을 해보자 1 Dreamy 2010.07.07 9815 0
144 일반 RobotC 정보 secret Dreamy 2010.07.20 0 0
143 성가대 [자작곡] 생명의 빵 Dreamy 2010.07.29 9974 0
142 취미 성시경 - 당신은 참 악보 secret Dreamy 2010.08.06 0 0
141 취미 좋아하는 노래들, 가사와 코드 모음 file Dreamy 2010.08.06 14715 0
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 9 10 11 12 ... 17 Next ›
/ 17

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5