Архитектура Unix

       

. Программа, использующая системную функцию profil



Рисунок 8.12. Программа, использующая системную функцию profil



#include <signal.h> int buffer[4096]; main() { int offset,endof,scale,eff,gee,text; extern theend(),f(),g(); signal(SIGINT,theend); endof = (int) theend; offset = (int) main; /* вычисляется количество слов в тексте программы */ text = (endof - offset + sizeof(int) - 1)/sizeof(int); scale = Oxffff; printf ("смещение до начала %d до конца %d длина текста %d\n", offset,endof,text); eff = (int) f; gee = (int) g; printf("f %d g %d fdiff %d gdiff %d\n",eff,gee, eff-offset,gee-offset); profil(buffer,sizeof(int)*text,offset,scale); for (;;) { f(); g(); } } f() { } g() { } theend() { int i; for (i = 0; i < 4096; i++) if (buffer[i]) printf("buf[%d] = %d\n",i,buffer[i]); exit(); }










Содержание  Назад  Вперед