2

BUILDボタンを押したときにコンパイラが正確に何をするかを誰かが実際に説明できれば、私は非常に感謝しています。 ?)、なぜ私はそのような質問をするのですか? 私は、「ファイル間のコンパイルの依存関係を最小限に抑える」ことの意味を理解しようとしています.Meyersの本から50の特定の方法について...(あなたがこの本について知っていることを願っています)、そこで彼はそれが何を意味するのかを説明しています抽象基本クラスとハンドルクラス、私の講師が私に説明したように、余分な .h ファイルを含める必要はありません。それだけです。コンパイルプロセスに関するリンクも歓迎します。事前に助けてくれてありがとう

4

3 に答える 3

5

完全なコンパイルを実行すると、コンパイラは各 .cpp ファイルを順番に読み取ります。指定された .cpp ファイルについて、#includeディレクティブによって参照されるすべてのファイルを再帰的に読み取り、コードをコンパイルします。次のソース ファイルをコンパイルすると#include、そのソース ファイルで参照されているファイルが読み込まれます。

変更を加えてビルドを実行すると、 .cpp ファイルの#includeディレクティブによって参照されるファイルのいずれかが変更された場合、.cpp ファイル自体が変更されたかのように、.cpp ファイルが再コンパイルされます。

したがって、不要な#includeディレクティブには 2 つの代償があります。1 つ目は、コンパイル時にコンパイラがより多くのファイルを読み取って処理する必要があることです。2 つ目は、実際に使用するものが何も変更されていない場合でも、.cpp ファイルを再コンパイルする必要が生じる可能性が高くなります。

于 2010-09-21T12:47:00.767 に答える
1

見る

http://computer.howstuffworks.com/c2.htm の概要と

詳細な説明についてはhttp://www.tenouk.com/ModuleW.html

さらに、いくつかの理論的背景は http://en.wikipedia.org/wiki/Compilerにあります。

于 2010-09-21T12:49:33.877 に答える
0

コンパイラがどのように機能するかを理解する最善の方法は、まずアセンブラがどのように機能するかを理解することです。ここにまともな説明があります。

于 2010-09-21T12:44:18.557 に答える