8
任何人都可以向我解釋profile-generate
和pg
選項之間的區別嗎?配置文件生成vs PG
任何人都可以向我解釋profile-generate
和pg
選項之間的區別嗎?配置文件生成vs PG
兩者都將生成配置文件數據。但是他們的用法不同。
fprofile-generate
將生成帶分析信息的二進制文件,當您使用fprofile-use
重新編譯時,可以重新使用該文件向編譯器提供反饋。
例如:
$ gcc -fprofile-generate filename.c
如果執行由有關命令生成的二進制文件,它會產生一個與文件數據稱爲filename.gcda
文件。
當你再次fprofile-use
編譯:
$ gcc -fprofile-use filename.c
這一次,GCC將使用這些數據從filename.gcda
進一步優化。
當您執行使用-pg
編譯的二進制文件時,它將生成gmon.out
,稍後可以使用它來使用gprof
命令分析代碼。這更像靜態分析,它將提供有關代碼路徑的信息。