配置文件生成与PG



谁能向我解释一下profile-generatepg选项之间的区别?

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

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命令分析代码。这更像是静态分析,它将提供有关代码路径的信息。

最新更新