長所静的リンクライブラリ
(1)コードは、ダイナミックリンクライブラリよりもわずかに速い速い実行速度をロードされます。
(2)のみお使いのコンピュータの開発、.LIBファイルは、DLL地獄のような問題を回避するために、ユーザーのコンピュータと、問題のバージョンに存在するかどうかを考慮せずにバイナリ形式で出版社の正しい.LIBファイルを確実にするために。
2ダイナミックリンクライブラリアドバンテージ
(1)より多くのメモリを保存し、ページ・スワッピングを減らします。
(2)EXEファイルの独立とDLLファイルを、限り、出力インタフェースとして(すなわち名前、パラメータ、戻り値の型と変わらない呼び出し規約)変わらない、DLLファイルはEXEファイルへの影響はありません置き換える、大幅に改善されたメンテナンス性そして、スケーラビリティ;
(3)プログラムは、同じDLL関数を呼び出すことができ呼び出し規約の関数限り、異なるプログラミング言語で書かれました。
(4)大規模なソフトウェア開発のために、独立した開発プロセスを開発し、異なる開発者や開発組織のテストを容易にするために、カップリングの小さい程度を作ります。
欠点3
(1)拡大実行を生成静的リンクを使用して、廃棄物が得られ、同じ共通のコードを含みます。
ダイナミックリンクライブラリアプリケーションの使用は自己完結型ではありません(2)、それはDLLのモジュールに依存して存在している必要があり、ダイナミックリンクでは、プログラムはDLLが存在しない起動時にロードを使用している場合、システムはエラーメッセージを表示してプログラムを終了することがわかりました。ダイナミックリンクは、システムが実行時の使用を停止しませんが、DLLのエクスポート機能が利用できないため、プログラムがロードに失敗します。静的にリンクされたよりも遅いです。ソフトウェアモジュールを実行するために必要なように、新しいモジュールは、古いモジュールと互換性がない場合、モジュールは、更新された場合、すべての引き裂かれました。これは、初期のWindowsの中では非常に一般的です。
4.free解放されたメモリを直接戻るオペレーティングシステムに限らない、あなたは、リリース前にプロセスを終了することをお勧めします。
malloc関数までは直接、それは仮想メモリのアプリケーションであり、物理メモリのために適用することはできません。仮想メモリが必要に仮想メモリのデータのこの部分を使用するためのレッスン、メモリの使用量として動作するハードディスクの空き容量の制服の一部である仮想メモリの知識のオペレーティングシステムであり、それはその実際の物理メモリに転送されます。
5。
6。
7。
- デバイスのハードウェア・レジスタ(例:ステータスレジスタ)
- 非自動変数への割り込みサービスルーチンのアクセス(非自動変数)
- マルチスレッド・アプリケーション変数は、いくつかのタスクによって共有されています