我在一家小公司工作,但我们可能有重复的服务,包括.CPP文件。重复的.h文件会影响我们的编译时间吗?
答案 0 :(得分:3)
答案 1 :(得分:0)
#include语句实际上被替换为所包含文件的全文,从而生成一个包含所有标题和原始文件内容的大文件。通常,将所有这些粘贴在一起所花费的时间可以忽略不计。
但是,这意味着代码最终会在您的文件中两次,除非您有
#pragma once
在其中,或使用
保护它#ifndef MY_HEADER_NAME_H
#define MY_HEADER_NAME_H
// Actual header contents go here.
#endif /* MY_HEADER_NAME_H*/
或使用其他类似的结构,如Objective C&#39的#import指令,所有这些都确保如果你包含它们两次,标题的内容不会被第二次编译。否则,根据您的代码,您将收到有关双重定义的结构等的错误消息。
因此,除非您的项目或头文件是 large ,否则您的编译器编写异常严重,或者您的硬盘异常缓慢,包括相同文件两次在编译时可忽略不计