私はMicrosoftのMSDNとWeb全体を見てきましたが、それが何であるかについて本当に良い考えを得ることができませんでした。
起動時に一度にすべてに対して実行されるように、完了したプログラムがその実行中に異なる時間にDLLをロードすることを意味しますか?
私は完全に離れていますか?:)
私はMicrosoftのMSDNとWeb全体を見てきましたが、それが何であるかについて本当に良い考えを得ることができませんでした。
起動時に一度にすべてに対して実行されるように、完了したプログラムがその実行中に異なる時間にDLLをロードすることを意味しますか?
私は完全に離れていますか?:)
回答:
リンクには、ソースファイルから作成したすべての.objファイルと、参照する.libファイルを出力(例:.exeまたは.dll)にパッケージ化することが含まれます。
インクリメンタルリンクを使用しない場合、これは毎回ゼロから行う必要があります。
インクリメンタルリンクは、小さな変更を加えて再コンパイルするときに、リンカーが既存のexe / dllを更新しやすくする方法でexe / dllをリンクします。
したがって、インクリメンタルリンクを使用すると、プロジェクトのコンパイルとリンクがより高速になります。
ここで説明するように、実行時の唯一の影響は、exe / dllがわずかに大きく、遅くなることです。
http://msdn.microsoft.com/en-us/library/4khtbfyf.aspx
編集:ローガンが述べたように、インクリメンタルリンクもリンク時のコード生成と互換性がないため、パフォーマンスの最適化が失われます。
デバッグビルドでインクリメンタルリンクを使用して開発をスピードアップし、リリースビルドではそれを無効にしてランタイムパフォーマンスを向上させることができます。
DLLの遅延読み込みは、あなたが考えていることかもしれません:
incremental linking
と、リンカは毎回すべてを最初からリンクしますか?