#このチュートリアルの動作環境: CentOS 6 システム、Dell G3 コンピューター。違い: 1. 静的ライブラリはプログラムのコンパイル時にターゲット コードに接続され、プログラムの実行時には静的ライブラリは必要なくなります。動的ライブラリはターゲット コードに接続されません。プログラムのコンパイル時にターゲット コードがロードされますが、プログラムの実行時にロードされるため、プログラムの実行時にダイナミック ライブラリが存在する必要があります。 2. 動的ライブラリによって生成されるファイルは比較的小さく、静的ライブラリによって生成されるファイルは比較的大きくなります。
類似点:
静的ライブラリと動的ライブラリはどちらも .o ファイルによって作成されます。したがって、まず gcc を通じてソース プログラムを .o ファイルにコンパイルする必要があります;違い:
1. コードの読み込み時間が異なります。
動的ライブラリのコンパイル
Dynamic ライブラリをコンパイルするとき:
最も重要なことは、GCC コマンド ラインのオプションです -shared このオプションは、ダイナミック リンク ライブラリの生成を指定します。例:g -shared -o libd1.so d1.o /*中間ターゲット ファイル d1.o*/
g -shared に基づいてダイナミック ライブラリ ファイル d1.so を作成します-o libd2.so d2.o /*中間ターゲット ファイル d2.o に基づいてダイナミック ライブラリ ファイル d2 を作成します。so*/
静的ライブラリのコンパイルar archivefile objfile
archivefile: archivefile は静的ライブラリの名前です
objfile :objfile は、.o の拡張子が付いた中間ターゲット ファイル名で、複数の並列実行が可能です。
例:
g++ -o hello.o -c hello.cpp ar cqs libHello.a hello.o
関連する推奨事項: "
Linux ビデオ チュートリアル以上がLinuxの動的ライブラリと静的ライブラリの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。