Windows에서 cygwin을 실행 중이고 최신 버전의 gprof를 사용하여 코드를 프로파일 링합니다. 내 문제는 평면 프로필 내 코드에서 각 기능에 대한 초를 보여줍니다, 나는 심지어 함수를 반복하려고했지만 (백만 회선에 대한 루프를 시도) gprof 언제든지 축적 할 수 없습니다. 도와주세요. 여기 내 샘플 함수 중 하나입니다.gprof - gnu 프로파일 러를 사용하여 시간을 축적 할 수 없습니다.
bool is_adjacent(const char* a ,const char* b)
{
for(long long iter=0;iter<=1000000;iter++){
string line1="qwertyuiop";
string line2="asdfghjkl";
string line3="zxcvbnm";
string line4="1234567890";
int pos=line1.find(*a);
if(pos!=string::npos){
if ((line1[pos++]==*b)||((pos!=0)&&(line1[pos--]==*b)))
return true;
else return false;}
pos=line2.find(*a);
if(pos!=string::npos){
if ((line2[pos++]==*b)||((pos!=0)&&(line2[pos--]==*b)))
return true;
else return false;}
pos=line3.find(*a);
if(pos!=string::npos){
if ((line3[pos++]==*b)||((pos!=0)&&(line3[pos--]==*b)))
return true;
else return false;}
pos=line4.find(*a);
if(pos!=string::npos){
if ((line4[pos++]==*b)||((pos!=0)&&(line4[pos--]==*b)))
return true;
else return false;}
}
}
이 문제를 해결하는 데 도움이되는 정보가 더 필요합니다. gprof를 실행하기 위해 전달한 명령 줄 (1)과 (2) 프로그램 컴파일에 사용한 명령 줄 (2)을 줄 수 있습니까? – quark
1.compiling : $ g ++ -pg comp.cpp 2.execution : $/a.exe를 3.Gprof $ gprof은 a.exe를 –