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



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

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

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

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

为什么我不需要在标题中包含库.cpp?

祝你好运

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

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

对于调试,您需要源文件逐步执行这些行。

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

最新更新