1

PI に定数を使用できるように、数学の計算中に単純な C プログラムに「math.h」を #include するとします。次に、#include を実際に削除せずに「math.h」の使用法を取り出します。この無関係なファイルは依然としてコンパイルされ、プログラムが大きくなりますか、それとも無視されますか?

4

1 に答える 1

3

#include解析可能なコードのないヘッダー ファイルにプリプロセッサ ディレクティブを使用しても、コンパイルされたバイナリのサイズは増加しません。

通常、ヘッダー ファイルには宣言のみが含まれ、定義は含まれません。したがって、C ヘッダー ファイルをインクルードしても、通常はバイナリのサイズが増加することはありません。

たとえば、ヘッダー ファイルでは、このステートメントint maxlines; は、コンパイルされたバイナリ ファイルに格納される変数の定義を作成します。定義を含めると、バイナリのサイズが大きくなります。関数宣言と and などのプリプロセッサ トークンは、プログラム サイズを増加さint parseFiles(const char *file);#include MAX_LINES 80ません。

#include ステートメントを保持することの効果の 1 つは、コンパイルにかかる時間がわずかに長くなることです。

于 2013-07-25T05:32:28.083 に答える