Можно ли настроить gcc / gcov для вывода статистики покрытия в папку, отличную от исходной папки?

#gcc #gcov #code-coverage

#gcc #gcov #code-coverage

Вопрос:

При использовании gcc с -fprofile-arcs и -ftest-coverage, когда результирующий исполняемый файл завершает работу, он пытается создать выходные файлы .gcda в том же расположении, что и файлы .o, используемые для компиляции исполняемого файла. Это неудобно, когда я работаю на компьютере, отличном от того, на котором я был построен — есть ли какой-нибудь способ изменить это поведение?

Ответ №1:

Вы можете использовать переменную среды GCOV_PREFIX . Это упоминается в документе в разделе «перекрестное профилирование», который сам упоминается в документации для -fprofile-arcs .

Комментарии:

1. Если я хочу переместить исполняемый файл с «компьютера компиляции» на «целевой компьютер», где будет выполняться программа и измеряться покрытие: должен ли я перемещать файлы «*.gcno», сгенерированные компилятором (например, «main.cpp.gcno», сгенерированные для моего исходного файла main.cpp) ?