2012-09-21 16 views

Antwort

9

Beide werden die Profildaten generieren. Aber ihre Verwendung unterscheidet sich.

fprofile-generate ist die Binärdatei mit Profilinformationen zu generieren, die Sie verwenden können, um dem Compiler Feedback zu geben, wenn Sie es erneut mit fprofile-use kompilieren.

Zum Beispiel:

$ gcc -fprofile-generate filename.c 

Wenn Sie die binären durch den über Befehl erzeugt ausführen, wird es eine Datei filename.gcda mit Profildaten genannt produzieren.

Beim Kompilieren mit fprofile-use wieder:

$ gcc -fprofile-use filename.c 

Diesmal gcc wird, dass die Daten von filename.gcda verwenden weiter zu optimieren.

Wenn Sie die Binärdatei ausführen, die mit -pg kompiliert wurde, generiert es gmon.out, die später verwendet werden kann, um den Code mit gprof Befehl zu analysieren. Dies ist eher eine statische Analyse, die Informationen über den Code-Pfad liefert.