我使用以下程序main.c
。
int f2(int i) { return i + 2; }
int f1(int i) { return f2(2) + i + 1; }
int f0(int i) { return f1(1) + f2(2); }
int pointed(int i) { return i; }
int not_called(int i) { return 0; }
int main(int argc, char **argv) {
f0(1);
f1(1);
int (*f)(int);
f = pointed;
if (argc == 1)
f(1);
if (argc == 2)
not_called(1);
return 0;
}
当我检查结果时,没有得到f0
的用户定义功能的信息。如何使callgrind
生成用户定义函数的信息。
$ gcc -g -Wall -pedantic -o main.exe main.c
$ valgrind --tool=callgrind --callgrind-out-file=/dev/stdout ./main.exe | gprof2dot -n0 -e0 -f callgrind