为什么C++头文件不需要包含实现文件(.cpp)?
我想知道调试器是完成这项工作还是不需要它?
.cpp文件包含标头,而不是相反
您的问题已在此处得到解答:
为什么我不需要在标题中包含库.cpp?
祝你好运
编译器只需要头文件来符合接口。
要运行和执行代码,您需要实现,但不是在源代码中,而是作为库。它可能是动态的(.so - Linux 上的文件,.dll Windows 上的文件),或者在编译后静态链接。
对于调试,您需要源文件逐步执行这些行。
头文件主要只是类型声明和对在其他文件中实现的代码的引用。 源文件需要知道这些声明,但头文件不需要知道实现(内联除外)。 多个源文件可以使用相同的头文件,链接器将确保它们根据需要访问共享实现代码。