7

私のアプリケーションは libsamplerate.a にリンクしています。これは、最終的なバイナリを簡単に配布できるようにするためです。

.a ファイル内のコードが、配布する必要がある他のライブラリに依存している可能性があるのではないかと心配しています。

しかし、そうでない場合は、たとえば. libc。

libsamplerate.a の中身は正確には何ですか? libsamperateのバイトコードだけ?以上?

4

3 に答える 3

6

.a ファイルは、基本的に .o ファイルの単なるバンドルです。これは、ツールを使用して実証できarます。

たとえば、ライブラリの内容を表示するには:

ar -t libsamplerate.a

最初から .a ファイルを作成するには:

ar -r tim.a *.txt
于 2008-10-31T19:10:55.877 に答える
5

静的ライブラリは、オブジェクト ファイルの単なるコレクションです。静的ライブラリに対してプログラムをコンパイルすると、プログラムで使用される関数のオブジェクト コードがライブラリから実行可能ファイルにコピーされます。静的ライブラリに対してリンクしても、そのライブラリの外部にある関数がコードに含まれることはありません。

于 2008-10-31T19:13:38.400 に答える
1

libsamplerate のオブジェクト コードのみ。1 つのライブラリに対して静的にリンクしても、すべてのライブラリが静的にリンクされるわけではありません。それは悪いでしょう。

于 2008-10-31T18:59:20.177 に答える