为什么C ++头文件不需要包含实现文件(.cpp)?

时间:2013-09-10 04:26:01

标签: c++ header

为什么C ++头文件不需要包含实现文件(.cpp)?

我想知道调试器是否能完成这项工作还是不需要它?

3 个答案:

答案 0 :(得分:1)

.cpp文件包含标题,而不是相反

您的问题已在此处得到解答:

Why don't I need to include library.cpp in the header?

祝你好运

答案 1 :(得分:0)

编译器只需要头文件符合接口。

要运行并执行代码,您需要实现,但不是在源代码中,而是作为库。它可能是动态的(.so - linux上的文件,Windows上的.dll)或者在编译后静态链接。

对于调试,您需要源文件来逐行处理。

答案 2 :(得分:0)

头文件主要只是类型声明和对其他文件中实现的代码的引用。源文件需要知道这些声明,但头文件不需要知道实现(内联除外)。多个源文件可以使用相同的头文件,链接器将确保他们可以根据需要访问共享实现代码。