配置文件生成vs PG

时间:2012-09-21 12:26:00

标签: gcc compiler-construction profiling gprof

有人可以向我解释profile-generatepg选项之间的区别吗?

1 个答案:

答案 0 :(得分:11)

两者都将生成配置文件数据。但它们的用法不同。

fprofile-generate是生成带有性能分析信息的二进制文件,当您使用fprofile-use再次编译时,可以重复使用它来向编译器提供反馈。

例如:

$ gcc -fprofile-generate filename.c

如果执行about命令生成的二进制文件,它将生成一个名为filename.gcda的文件,其中包含配置文件数据。

再次使用fprofile-use进行编译时:

$ gcc -fprofile-use filename.c

这一次,gcc将使用filename.gcda中的数据进一步优化。

当您执行使用-pg编译的二进制文件时,它将生成gmon.out,稍后可以使用gprof命令分析代码。这更像是静态分析,它将提供有关代码路径的信息。

相关问题