2009-10-30 6 views

答えて

9

- あなたのソースをコンパイルし、それを作成するための rchiveライブラリ :

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

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

そう - 位置独立コードの共有ライブラリ

gcc -fPIC -shared -soname,libfoo.so.1 -o libfoo.so.1.0 foo.c boo.c 
+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

は、このを見てみましょうMakefile私はCを初めて使ったときに書きました。.aとを生成して正しくリンクする方法を明確に示していますファイルはsimple demo sourceです。

2

.aは静的ライブラリとも呼ばれ、.soは動的にロードされるライブラリとも呼ばれます。

私はProgram Library HOWTOが好きです。

プログラマのためのこのHOWTOは、Linux上でプログラム ライブラリを作成して使用する方法 について説明します。これには、 静的ライブラリ、共有ライブラリ、 および動的にロードされるライブラリが含まれます。

Yo Linux tutorialも有用である。

このチュートリアルでは、ライブラリの背後にある哲学 と創造とC/C++ライブラリの 使用「共有 コンポーネント」と「プラグイン」について説明します。 様々な技術および方法論 が使用され、それらの適切な アプリケーションへの洞察も議論されます。 このチュートリアルでは、すべてのライブラリはGNU Linuxコンパイラを使用して作成された です。

関連する問題