【发布时间】:2014-01-07 19:22:09
【问题描述】:
所以我想用backtrace logging 分发我的gcc 应用程序以解决严重错误。然而它是对性能非常关键的应用程序,所以我想知道-g -rdynamic gcc 标志是否会减慢执行速度(特别是如果它们确实分配了)?还想为我的用户提供最佳性能,所以我使用 "-flto" 和 "-mtune" 之类的优化标志进行编译,这让我想知道标志是否会发生冲突并且内部 baacktrace 会很疯狂?
【问题讨论】:
-
启用优化后,您的堆栈跟踪将不会是垃圾,但由于内联和其他一些优化,您可能无法在没有优化的情况下获取所有堆栈帧。
-
如果你不知道(当你有你的代码,并且在你自己的机器上运行它时),是什么让你认为互联网上一群随机的人不知道你的代码是什么会知道吗?
-
@SteveJessop:通用gcc知识/Linux生产经验。
-
在生产代码中保留调试符号不会降低性能,只会增加膨胀。我也发送了这样的代码,以便从客户那里获得有意义的错误报告。