problema com gcov, não pode ser executado

1

Então, estou tentando otimizar um arquivo chamado linpack.c . Eu tenho que usar gcov para encontrar as 10 linhas mais executadas. Eu recebi estas opções de compilador:

-fprofile-arcs -ftest-coverage -O2

Então eu corri isto

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

a saída foi linpack, linpack.gcno .

Agora, quando tento executar gcov linpack.c para gerar linpack.c.gcov , recebo um erro:

linpack.gcda, cannot open data file.

Alguém pode me dizer o que estou fazendo errado? Isso deve ser simples, mas eu tenho lutado por mais de uma hora agora.

    
por user3417741 03.04.2014 / 04:39

1 resposta

1

O arquivo linpack.gcda deve ser criado quando você executa o programa que você compilou com os sinalizadores de perfil. Como você não forneceu um nome de arquivo de saída (usando a opção -o ) na linha de comando do gcc, será necessário executá-lo como a.out . Por exemplo:

$ 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
$ 
    
por steeldriver 03.04.2014 / 05:30