Je cours cygwin sur Windows et utilise la dernière version de gprof pour profiler mon code. Mon problème est que le profil plat montre zéro sec pour chacune des fonctions dans mon code, j'ai même essayé de boucler les fonctions (essayé une boucle pour un million) mais gprof est incapable d'accumuler n'importe quand. S'il vous plaît aider. Voici une de mes fonctions exemple.impossible d'accumuler du temps avec gprof - le profileur 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;}
}
}
Nous avons besoin de plus d'informations pour vous aider. Pouvez-vous nous donner (1) la ligne de commande que vous avez passée pour exécuter 'gprof', et (plus important encore) (2) la ligne de commande que vous avez utilisée pour compiler votre programme? – quark
1.compiling: $ g ++ -pg comp.cpp 2.execution: $/a.exe 3.Gprof gprof $ a.exe –