別の開発者と議論があります。Dynamic Link と Static Link のどちらかで解決したいと思います。
理論的には:
100 個の関数を含むライブラリがあり、それぞれにかなりの量のコードが含まれているとします。
int A()
int B()
int C()
..
..and so on...
そして、あなたのアプリケーションはそれらの 1 つだけを呼び出したり、依存したりします。
自由に使える方法は 2 つあります。
- ライブラリをダイナミック リンク ライブラリとしてビルドする
- ライブラリを静的にリンクされたライブラリとしてビルドする
私の同僚は、静的ライブラリをアプリケーションにリンクすると、コンパイラ/リンカーは99 個の未使用関数のコードを実行可能ファイルに追加しないと主張しています。私はそう主張します。このシナリオの唯一の利点は、実行可能ファイルが 1 つであることと、アプリケーションと共にライブラリを配布する必要がないことですが、動的にリンクされたライブラリ アプローチを使用した場合、サイズに大きな違いはありません。
誰が正しいですか?