2009-10-30 2 views
8

UNIX에서 .so 및 .a 파일을 만드는 방법. 표준 유틸리티가 있습니까? 위치 독립적 인 코드 공유 라이브러리UNIX에서 .so 및 .a 만들기

gcc -fPIC -shared -soname,libfoo.so.1 -o libfoo.so.1.0 foo.c boo.c 

답변

9

* .A rchive 라이브러리 은 당신의 소스를 컴파일 만들 수 있습니다 Makefile 나는 C를 처음 접했을 때 썼다. 이것은 정확히 .a과를 생성하고 정확하게 연결하는 법을 보여준다.파일은 simple demo source입니다.

+0

.so 파일 –

+0

초 (-fPIC)는 * .so 라이브러리를 만듭니다.이 방법으로 소스를 컴파일해야합니다 (다른 방법은 모른다). – bua

3
#create shared library 
gcc -Os -fPIC -c test.c 
gcc -shared test.so test.o 


#create static library 
gcc -Os -c test.c 
ar rcs test.a test.o 
0

이 한 번 봐 -

gcc -c -o foo.o foo.c 
gcc -c -o boo.o boo.c 

ar -rsc yourlib.a foo.o boo.o 

그렇게 : -

2

.a는 정적 라이브러리라고도하며 .so는 동적으로로드 된 라이브러리라고도합니다.

나는 Program Library HOWTO을 좋아한다.

이 HOWTO 문서는 프로그래머를 만드는 방법 및 사용 프로그램을 리눅스에 라이브러리 에 대해 설명합니다. 여기에는 정적 라이브러리, 공유 라이브러리, 및 동적으로로드 된 라이브러리가 포함됩니다.

Yo Linux tutorial도 유용합니다.

이 튜토리얼은 라이브러리의 뒤에 철학 및 생성 및 C/C++ 라이브러리의 사용 "공유 구성 요소"와 "플러그인"에 대해 설명합니다. 다양한 기술 및 방법론 사용 및 해당 응용 프로그램에 대한 통찰력도 논의됩니다. 이 튜토리얼의 에서 모든 라이브러리는 GNU Linux 컴파일러를 사용하여 생성 된 입니다.