如何在不查看 GCC 中预处理代码的情况下知道包含哪些标头?

发布于 2024-07-25 17:42:19 字数 124 浏览 7 评论 0原文

我有一些大型的C程序,我想知道当我编译这个程序时,实际上包含了哪些头文件......

最简单的解决方案是打印预处理的代码并看看,但你知道是否有一种方法可以编译并同时显示包含哪些头文件?

I've got some big C programs, and I would like to know when I'm compiling this program, which header files are actually included...

The simplest solution would be to print the preprocessed code and look but do you know if there's a way to compile and at the same time showing what header files are included?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

兮子 2024-08-01 17:42:19

使用 -M 选项 输出的依赖关系。 使用 -MD生成编译。 使用 -MF 重定向到文件。

-MM 还允许忽略依赖项列表中的系统文件。

gcc ... -M  -MF <output_file>     # generate dependencies
gcc ... -MD -MF <output_file>     # compile and generate dependencies

Use the -M option to output the dependencies. Use -MD to generate and compile. Use -MF to redirected to a file.

Also -MM allow ignoring the system file in the dependencies list.

gcc ... -M  -MF <output_file>     # generate dependencies
gcc ... -MD -MF <output_file>     # compile and generate dependencies
写给空气的情书 2024-08-01 17:42:19

您可以使用 -MD 选项 - 有关详细信息,请参阅 man gcc

You can use -MD option - see man gcc for details.

苏佲洛 2024-08-01 17:42:19

增加 gcc 的详细程度,然后通过自己制作的过滤程序运行它?

Increase gcc verbosity and then run it through an own made filter program?

仅此而已 2024-08-01 17:42:19

使用 gcc -M 或 gcc -MM。 如果您愿意,可以使用 sed 调整输出。 如果你使用 GNU make(你应该),你可以将其包装成一个整洁的命令。

Use gcc -M or gcc -MM. Adjust the output with sed if you like. If you use GNU make (and you should) you can wrap this up a into single tidy command.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文