проблема с 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.

Может кто-нибудь сказать мне, что я делаю неправильно? Это должно быть просто, но я боролся уже больше часа.

2
задан 18.05.2020, 18:11

1 ответ

linpack.gcda файл должен быть создан, когда Вы выполняете программу, которую Вы скомпилировали с флагами профиля. Так как Вы не предоставляли имя выходного файла (использующий -o опция) на gcc командной строке, необходимо будет выполнить его как 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
ответ дан 18.05.2020, 18:12

Теги

Похожие вопросы