1

我在尝试分析我的程序时遇到问题。

我像这样单独编译每个函数:

function1.o:        function1.cpp
    g++ -g -pg -z -c function1.cpp

然后我将这样的所有内容链接在一起:

exec: function1.o function2.o function3.o main.o  
    g++ -g -pg -z -c -o exec function1.o function2.o function3.o main.o

但是当我运行程序./exec然后用 分析数据时gprof exec,我没有得到分析数据,它说:

granularity: each sample hit covers 4 byte(s) no time accumulated

难道我做错了什么?

4

1 回答 1

0

您的程序可能运行时间不够长,以至于 gprof 无法收集任何样本。

您可以通过多次执行主循环来任意增加运行时间。

如果您在 Linux 上运行,请允许我也推荐perf一个真正更好的分析工具。

于 2012-03-01T17:58:37.743 回答