私のアプリケーションは libsamplerate.a にリンクしています。これは、最終的なバイナリを簡単に配布できるようにするためです。
.a ファイル内のコードが、配布する必要がある他のライブラリに依存している可能性があるのではないかと心配しています。
しかし、そうでない場合は、たとえば. libc。
libsamplerate.a の中身は正確には何ですか? libsamperateのバイトコードだけ?以上?
私のアプリケーションは libsamplerate.a にリンクしています。これは、最終的なバイナリを簡単に配布できるようにするためです。
.a ファイル内のコードが、配布する必要がある他のライブラリに依存している可能性があるのではないかと心配しています。
しかし、そうでない場合は、たとえば. libc。
libsamplerate.a の中身は正確には何ですか? libsamperateのバイトコードだけ?以上?
.a ファイルは、基本的に .o ファイルの単なるバンドルです。これは、ツールを使用して実証できar
ます。
たとえば、ライブラリの内容を表示するには:
ar -t libsamplerate.a
最初から .a ファイルを作成するには:
ar -r tim.a *.txt
静的ライブラリは、オブジェクト ファイルの単なるコレクションです。静的ライブラリに対してプログラムをコンパイルすると、プログラムで使用される関数のオブジェクト コードがライブラリから実行可能ファイルにコピーされます。静的ライブラリに対してリンクしても、そのライブラリの外部にある関数がコードに含まれることはありません。
libsamplerate のオブジェクト コードのみ。1 つのライブラリに対して静的にリンクしても、すべてのライブラリが静的にリンクされるわけではありません。それは悪いでしょう。