在 g++ 中编译对于 gprof
我不明白有关如何编译程序以使用 gprof 进行分析的 gprof 文档。在g++中,除了-pg
选项之外,是否还需要使用-g
选项(调试信息)进行编译。在每种情况下,我都会得到不同的结果,我想看看我的应用程序的瓶颈在发布模式下,而不是在调试模式下,其中编译器遗漏了许多优化(例如内联)
I do not understand the documentation for gprof regarding how to compile your program for profiling with gprof. In g++, is it required to compile with the -g
option (debugging information) in a addition to the -pg
option or not. In each case I get different results, and I would like to see where the bottlenecks in my application are in release mode, not in debug mode, where many optimizations are left out by the compiler (e.g. inlining)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
文档显示您可以执行任一操作,请注意您需要 -g用于逐行分析。因此,如果您想在发布条件下进行分析,并且可以接受不逐行执行,那么您应该能够在不使用 -g 的情况下进行编译。
The documentation shows that you can do either, noting that you need -g for line by line profiling. So if you want to profile under release conditions, and can accept not doing line-by-line, you should be able to compile without -g.