2012-09-21 23 views

Trả lời

9

Cả hai đều sẽ tạo dữ liệu hồ sơ. Nhưng cách sử dụng của chúng khác nhau.

fprofile-generate là tạo nhị phân có thông tin lược tả mà bạn có thể sử dụng lại để cung cấp phản hồi cho trình biên dịch khi bạn biên dịch lại bằng fprofile-use.

Ví dụ:

$ gcc -fprofile-generate filename.c 

Nếu bạn thực hiện nhị phân được tạo ra bởi khoảng lệnh, nó sẽ tạo ra một tập tin gọi là filename.gcda với dữ liệu hồ sơ.

Khi bạn biên dịch nó với fprofile-use một lần nữa:

$ gcc -fprofile-use filename.c 

Lần này, gcc sẽ sử dụng dữ liệu từ filename.gcda để tối ưu hóa hơn nữa.

Khi bạn thực thi nhị phân được biên dịch với -pg, nó sẽ tạo ra gmon.out mà sau này có thể được sử dụng để phân tích mã bằng lệnh gprof. Điều này giống như phân tích tĩnh sẽ cung cấp thông tin về đường dẫn mã.

Các vấn đề liên quan