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