web-dev-qa-db-ja.com

gcovの問題、実行できません

だから私はlinpack.cというファイルを最適化しようとしています。 gcovを使用して、最も実行された10行を見つける必要があります。これらのコンパイラオプションが与えられました。

-fprofile-arcs -ftest-coverage -O2

だから私はこれを走らせた

$ gcc -fprofile-arcs -ftest-coverage -O2 linpack.c

出力はlinpack, linpack.gcnoでした。

gcov linpack.cを生成するためにlinpack.c.gcovを実行しようとすると、エラーが発生します。

linpack.gcda, cannot open data file.

誰かが私が間違っていることを教えてもらえますか?これは簡単なはずですが、私は現在1時間以上苦労しています。

2
user3417741

プロファイルフラグを使用してコンパイルしたプログラムを実行すると、linpack.gcdaファイルが作成されます。 gccコマンドラインで(-oオプションを使用して)出力ファイル名を指定しなかったため、a.outとして実行する必要があります。例えば:

$ gcc -fprofile-arcs -ftest-coverage -O2 hello.c
$ ls hello.*
hello.c  hello.gcno
$ 
$ ./a.out 
Hello world!
$ ls hello.*
hello.c  hello.gcda  hello.gcno
$ 
2
steeldriver