使用库对基于g++的应用程序进行c++评测
c++ profiling of the g++ based application with libraries
我试图在melt框架中发现性能问题,尤其是仿射变换。
我试过3个评测器:gprof、Zoom和GooglePerformanceTools。
我编译了所有禁用优化的代码,并明确删除了任何由普通函数更改的内联函数。
但所有这些评测器都会在调用图中为我获取未解析的函数名。事实上,这些函数中的大多数都是最耗时的。
因此,问题是用库评测基于g++的应用程序的正确过程是什么
谢谢,
您需要在启用调试信息的情况下编译程序(我认为您已经启用了调试信息,但还是提到了它),安装依赖库的启用调试版本,并将程序与它们链接起来。
在基于debian的linux环境中,它们通常像原始库一样命名,并带有-dbg后缀。例如,libxml2dbg。
希望这能有所帮助。
相关文章:
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何从Windows应用程序输出到标准?
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 如果整个应用程序是虚拟映射的,为什么 new 会进行系统调用?