10

任何人都可以向我解释选项之间profile-generate的区别吗?pg

4

1 回答 1

12

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

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

于 2012-09-21T12:47:19.117 回答