GCov и GCC, * .da файлы не созданы - PullRequest
3 голосов
/ 04 октября 2010

Я использую GCC версии 3.3.6. Когда я использую мои объектные файлы с -fprofile-arcs и -ftest-coverage, создаются соответствующие файлы *.bb и *.bbg.

Затем объектные файлы объединяются в статическую библиотеку libfoo.a с помощью:
ar rcs libfoo.a foo1.o foo2.o.

Наконец, ряд статических библиотек связаны между собой для создания моего исполняемого файла:
gcc -fprofile-arcs -o foo.o <static libraries linked all>

Теперь, когда я запускаю образ, файлы * .da не создаются. Есть ли шаг, который я пропускаю? У кого-нибудь есть другие предложения?

Спасибо.

1 Ответ

3 голосов
/ 08 декабря 2010

Исполняемый файл должен быть связан с библиотекой gcov:

gcc -fprofile-arcs -o foo.o <static libraries linked all> -lgcov

EDIT : Начиная с gcc 4.1.2, опция --coverage может использоваться как синоним для -fprofile-arcs -ftest-coverage (при компиляции) и -lgcov (при связывании).

Также стоит отметить, что файлы создаются в том же каталоге, что и компиляция. Этот каталог должен быть доступен из среды выполнения. В последних версиях gcc (4-1) введены переменные среды для настройки целевого каталога: GCOV_PREFIX и GCOV_PREFIX_STRIP, см. Раздел перекрестного профилирования gcc doc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...