为什么C++头文件不需要包含实现文件 (.cpp)
Why does a C++ header file not need to include the implementing file (.cpp)?
为什么C++头文件不需要包含实现文件(.cpp)?
我想知道调试器是完成这项工作还是不需要它?
.cpp文件包含标头,而不是相反
您的问题已在此处得到解答:
为什么我不需要在标题中包含库.cpp?
祝你好运
编译器只需要头文件来符合接口。
要运行和执行代码,您需要实现,但不是在源代码中,而是作为库。它可能是动态的(.so - Linux 上的文件,.dll Windows 上的文件),或者在编译后静态链接。
对于调试,您需要源文件逐步执行这些行。
头文件主要只是类型声明和对在其他文件中实现的代码的引用。 源文件需要知道这些声明,但头文件不需要知道实现(内联除外)。 多个源文件可以使用相同的头文件,链接器将确保它们根据需要访问共享实现代码。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 命名空间中具有.h和.cpp文件的类
- 为什么我的主文件.cpp不打印头文件中的任何内容
- 生成文件错误 - 找不到文件 - *.cpp
- 如何在文件.cpp gtkmm中声明小部件
- 没有实现文件(.cpp)的派生类
- 如何使用"CMakeLists.txt"中的add_library将整个文件(.cpp,.h等)包含在目录中
- 如何在Linux / Windows操作系统上使用文件*.cpp一步编译下面的代码
- 关于 Linux .so 文件无法链接到主文件.cpp文件
- 文件.cpp从Windows到Linux
- Ubuntu C++ 编译器错误: g++: 错误: 文件.cpp: 没有这样的文件或目录
- 如何将文件.cpp编译为本机编译
- 使用模板类时,似乎无法包含除 main 以外的任何 cpp 文件.cpp
- 无法编译C++文件.cpp。C++98模式
- 为什么C++头文件不需要包含实现文件 (.cpp)
- 如何访问位于独立文件(.cpp)中的非成员函数
- 如何在Visual Studio Code中通过键盘快捷键切换头文件/cpp文件
- 如何将数据从stringstream写入文件(CPP)
- 为什么filestream不把空白写入文件cpp ?