• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:gprofはprintfのようなCの標準ライブラリ関数で使われたコスト)

gprofは標準ライブラリ関数のコストを認識する方法は?

このQ&Aのポイント
  • gprofはCの標準ライブラリ関数のコストをどのように認識するのでしょうか?
  • 普通にプロファイルしたいプログラムをmakeしても、標準ライブラリの関数が表示されない問題があります。
  • Linux環境でgprofを使ってCのプログラムのチューニングを行いたい場合、-pgオプションを使用しない方法を考えています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

試してみましたが、ライブラリの処理時間は入ってないんですかね? #include <unistd.h> #include <stdio.h> void printf_wrapper(void) {   int i;   for (i = 0; i < 10000; i++) {     printf("dummy\n");   } } void sleep_wrapper(void) {   sleep(10); } int main(int argc, char *argv[]) {   printf_wrapper();   sleep_wrapper();   return 0; } $ gcc -pg foo.c -o foo.exe $ ./foo.exe > /dev/null $ gprof foo.exe gmon.out Flat profile: Each sample counts as 0.01 seconds. no time accumulated % cumulative self self total time seconds seconds calls Ts/call Ts/call name 0.00 0.00 0.00 1 0.00 0.00 printf_wrapper 0.00 0.00 0.00 1 0.00 0.00 sleep_wrapper ..... index % time self children called name 0.00 0.00 1/1 main [9] [1] 0.0 0.00 0.00 1 printf_wrapper [1] ----------------------------------------------- 0.00 0.00 1/1 main [9] [2] 0.0 0.00 0.00 1 sleep_wrapper [2] -----------------------------------------------

すると、全ての回答が全文表示されます。

関連するQ&A