编辑:面向未来的观看者-请参见Ken White的评论以获取答案。 (事实证明,我提出这个问题的前提有一点缺陷,但是,这种交流可能像我一样对将来的学生有所帮助。)
我有一个包含几个cpp和几个头文件的程序。我想了解链接器链接所有这些文件之后会发生什么,并且最好找到一种查看项目的方式,就像它已经链接在一起一样。
现在浏览项目目录,我看到 .o 文件,我知道它们是目标文件。我看到了各个 .cpp 和 .h 文件以及一个 .exe 。但是,令我沮丧的是,我没有看到任何文件可以显示程序的整体性。 我可以查看一个大的.cpp文件吗?我的理解是,这种文件合并是在链接发生之后,编译步骤发生之前发生的。
这是一系列类似的文件(及其包含的文件),它们共同构成一个完整的程序:
文件:main.cpp
#include "classA.h"
#include "classB.h"
文件:classA.cpp
#include "classA.h"
文件:classB.cpp
#include "classB.h"
文件:classA.h
文件:classB.h
但是我要查看的是如果已经链接了at的代码的外观,例如:
文件:mystery.cpp(其中包含以下内容:)
classA.h
classA.cpp
classB.h
classB.cpp
main.cpp
但总的来说,还有行号。
对于上下文,我在使用valgrind来检测内存泄漏时想到了这个问题,并指出错误似乎是在程序中的行号处发生的,该行号似乎太大而无法在任何单个文件中存在。 / em>
-好奇的学生