1

假设我在一个简单的 C 程序中 #include "math.h" 进行数学计算,这样我就可以将常量用于 PI。然后,我删除了“math.h”的使用,而没有实际删除#include。这个不相关的文件是否仍会编译并使我的程序变大,还是会被忽略?

4

1 回答 1

3

对没有可解析代码的头文件使用预处理器指令#include不会增加已编译二进制文件的大小。

通常,头文件通常只包含声明 - 而不是定义。因此,包含 C 头文件通常不会增加二进制文件的大小。

例如 - 在头文件中,此语句int maxlines; 将创建一个变量的定义,该变量将存储在编译的二进制文件中。包含定义会增加二进制文件的大小。函数声明和预处理器标记,例如int parseFiles(const char *file);and#include MAX_LINES 80然而不会增加程序大小。

保留#include 语句的一个效果是稍微增加编译时间。

于 2013-07-25T05:32:28.083 回答