首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跟踪包含文件(包含链)

跟踪包含文件(包含链)
EN

Stack Overflow用户
提问于 2014-08-05 12:09:18
回答 1查看 797关注 0票数 1

有时,我希望跟踪包含文件,直到定义某一类型的行。例如,在busybox中添加了一条命令后,我发现添加的源代码中包含了内核头文件,而内核头文件中包含了其他头文件。但与配置定义变量(CONFIG_...)的linux构建过程不同。用于选择正确的头文件(并在头文件中选择正确的行),在busybox构建中,这些变量没有设置,所以我猜头文件是随意选择的。

所以我想要跟踪头文件,例如看看u32类型是如何定义的,以及在构建过程中如何选择正确的头文件。如果我知道了这一点,我可以在busybox构建过程中添加一些配置,以便在最终构建中选择正确的linux头文件和行。

有没有什么有效的方法可以找到包含文件的包含路径?我尝试在生成.o文件时将-M添加到CPPFLAGS中,以查看其中包含了哪些文件,但没有相关的信息输出。

编辑:我使用grep查找定义了类型的文件,然后修改了每个候选文件的typename,以找到最终使用的头文件。然后使用grep查找包含该文件的文件。并更改了包含文件名以了解真实的包含文件(由于更改的文件名,实际包含文件在包含期间出错。)。我重复了一遍,这样我就可以跟踪include路径了。也许这是唯一的方法?

EN

回答 1

Stack Overflow用户

发布于 2014-08-05 12:26:42

要查看typedef名称的实际类型,您需要查看预处理器的输出:

https://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html

在gcc上,它的选项是-E。此输出还将包含来自头文件的递归包含的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25131051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档