Przykład : test_gprof.c test_gprof_new.c
//test_gprof.c // gcc -Wall -pg test_gprof.c test_gprof_new.c -o test_gprof #include<stdio.h> void new_func1(void); void func1(void) { printf("\n Inside func1 \n"); int i = 0; for(;i<0x1fffffff;i++); new_func1(); } static void func2(void) { printf("\n Inside func2 \n"); int i = 0; for(;i<0x2fffffaa;i++); } int main(void) { printf("\n Inside main()\n"); int i = 0; for(;i<0xffffff;i++); func1(); func2(); func1(); return 0; }
//test_gprof_new.c #include<stdio.h> void new_func1(void) { printf("\n Inside new_func1()\n"); int i = 0; for(;i<0x1fffffee;i++); }
gcc -Wall -pg test_gprof.c test_gprof_new.c \
-o test_gprof
./test_gprofTo wygeneruje informacje do pliku gmon.out w bieżącym katalogu.
gprof test_gprof gmon.out > analysis.txtParametrami są program który profilujemy oraz plik z wygenerowanymi informacjami.
Plik analysis.txt zawiera zestawienie funkcji posortowanych względem sumarycznego czasu wykonania oraz graf wywołań (która funkcja wywoływała daną funkcję i ile razy).