void f1()
{
for(int i = 0;i<10000;i++)
{
int f = 0;
f++;
}
}
void f2()
{
for(int i = 0;i<20000;i++)
{
int f = 0;
f++;
}
}
int main(int argc, char** argv)
{
for(int i = 0;i<10000;i++)
{
f1();
f2();
f2();
}
return 0;
}
g++ main.c -pg -g
./a.out
gprof ./a.out
index % time self children called name
<spontaneous>
[1] 100.0 0.00 1.79 main [1]
1.44 0.00 20000/20000 f2() [2]
0.35 0.00 10000/10000 f1() [3]
-----------------------------------------------
1.44 0.00 20000/20000 main [1]
[2] 80.4 1.44 0.00 20000 f2() [2]
-----------------------------------------------
0.35 0.00 10000/10000 main [1]
[3] 19.6 0.35 0.00 10000 f1() [3]
-----------------------------------------------
void f1()
{
int f = 0;
f++;
}
void f2()
{
int f = 0;
f++;
}
int main(int argc, char** argv)
{
if(argc > 1)
{
f1();
}
else
{
f2();
}
return 0;
}
gcc main.c -fprofile-arcs -ftest-coverage
./a.out
gcov main.c
-: 0:Source:main.c
-: 0:Graph:main.gcno
-: 0:Data:main.gcda
-: 0:Runs:1
-: 0:Programs:1
#####: 1:void f1()
-: 2:{
#####: 3: int f = 0;
#####: 4: f++;
#####: 5:}
1: 6:void f2()
-: 7:{
1: 8: int f = 0;
1: 9: f++;
1: 10:}
-: 11:
1: 12:int main(int argc, char** argv)
-: 13:{
1: 14: if(argc > 1)
-: 15: {
#####: 16: f1();
-: 17: }
-: 18: else
-: 19: {
1: 20: f2();
-: 21: }
1: 22: return 0;
-: 23:}