假设我在一个简单的 C 程序中 #include "math.h" 进行数学计算,这样我就可以将常量用于 PI。然后,我删除了“math.h”的使用,而没有实际删除#include。这个不相关的文件是否仍会编译并使我的程序变大,还是会被忽略?
问问题
83 次
1 回答
3
对没有可解析代码的头文件使用预处理器指令#include
不会增加已编译二进制文件的大小。
通常,头文件通常只包含声明 - 而不是定义。因此,包含 C 头文件通常不会增加二进制文件的大小。
例如 - 在头文件中,此语句int maxlines;
将创建一个变量的定义,该变量将存储在编译的二进制文件中。包含定义会增加二进制文件的大小。函数声明和预处理器标记,例如int parseFiles(const char *file);
and#include MAX_LINES 80
然而不会增加程序大小。
保留#include 语句的一个效果是稍微增加编译时间。
于 2013-07-25T05:32:28.083 回答