1

ライブラリ MyLib と実行可能 MyExe を含むパッケージ MyPak を作成しています。どちらもサードパーティのライブラリ Foobar に依存しています。システムに応じて、Foobar は共有ライブラリまたは静的ライブラリとして利用できます。また、MyLib を共有するか静的にするかを自由に選択できます。

MyLib を共有ライブラリとしてコンパイルすることを選択した場合、Foobar も共有ライブラリとして利用可能であれば意味があります。MyExe のリンク行は、次の行に沿ったものになります。

gcc -g myexe.c /path/to/mylib.so /path/to/foobar.so

ここで静的 foobar をリンクすることの意味は何ですか、つまり、

gcc -g myexe.c /path/to/mylib.so /path/to/foobar.a

? これは悪い習慣と見なされますか? パフォーマンスに悪影響を及ぼしますか?

同様に、MyLib が静的である場合、それを行うのは問題がありますか?

gcc -g myexe.c /path/to/mylib.a /path/to/foobar.so

? 結果はシステムに依存しますか?

4

0 に答える 0