gpt4 book ai didi

profiling - gprof 未显示调用图

转载 作者:行者123 更新时间:2023-12-03 18:39:25 27 4
gpt4 key购买 nike

我正在使用 -pg 选项运行我的程序。当我打开输出 gmon.out 它只是累积列表而不是调用图。我该如何解决?

我知道这里之前有人问过这个问题:gprof - File is missing call-graph data但实际上没有人回答这个问题,只是对 gprof 的替代方案提出了建议。

最佳答案

我也有过寻找答案的令人失望的经历。

具体来说:以下内容对我有帮助(最新的 Ubuntu 2013 年 5 月)。两个都试试 -fno-reorder-functions-fno-inline .例如,在 cmake 下,这有效:

if(CMAKE_COMPILER_IS_GNUCXX)
add_definitions(${CMAKE_CXX_FLAGS} "-Ofast")
add_definitions(${CMAKE_CXX_FLAGS} "-fno-reorder-functions")
add_definitions(${CMAKE_CXX_FLAGS} "-fno-inline")
endif()

一般:尝试查看编译器优化文档。找到一个有效的优化级别,然后为下一个级别添加所有列出的选项。尝试添加和删除,例如,二等分。同样,在 cmake 中,类似:
  add_definitions(${CMAKE_CXX_FLAGS} "-O1")
add_definitions(${CMAKE_CXX_FLAGS} "-fthread-jumps")
add_definitions(${CMAKE_CXX_FLAGS} "-falign-functions -falign-jumps")
add_definitions(${CMAKE_CXX_FLAGS} "-falign-loops -falign-labels")
# add_definitions(${CMAKE_CXX_FLAGS} "-fcaller-saves")
# add_definitions(${CMAKE_CXX_FLAGS} "-fcrossjumping")
# add_definitions(${CMAKE_CXX_FLAGS} "-fcse-follow-jumps -fcse-skip-blocks")
# add_definitions(${CMAKE_CXX_FLAGS} "-fdelete-null-pointer-checks")

很可能是一两个优化选项导致了所有问题。

关于profiling - gprof 未显示调用图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14639325/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com