1. ホーム
  2. c

[解決済み] .aファイル、.soファイルとは何ですか?

2022-03-20 04:22:08

質問

現在、C言語のアプリケーションを以下のように移植しようとしています。 AIX で、混乱しています。.aファイルと.soファイルとは何ですか?また、アプリケーションを構築/実行する際にどのように使用されるのですか?

どのように解決するのですか?

アーカイブライブラリ(.a)は静的にリンクされています。そのため、ライブラリに変更があった場合、再度コンパイルとビルドを行う必要があります。

.so(共有オブジェクト)の利点は、.aライブラリよりも実行時にリンクされることです。つまり、gccで.oファイルを作成した後に-oオプションを指定します。そのため、.soファイルに何らかの変更があった場合でも、メインプログラムを再コンパイルする必要はありません。 ただし、メインプログラムが新しい.soファイルにリンクされていることを、lnコマンドで確認してください。

これで、.soファイルのビルドができるようになります。 http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html