Добрый день.
Нужно из существующего проекта на C++ вытащить модуль.
Проект большой и реализован так, что проще убрать лишнее, чем вытащить необходимое. Все очевидно лишнее я убрал руками -- программа исполняет только нужный модуль, теперь нужен софт, который бы как-нибудь выделил неиспользуемые\недостижимые участки кода (отдельные функции, члены и методы классов)
Существует что-нибудь подобное?
Спасибо
Здравствуйте, 3ka5_cat, Вы писали:
_>Добрый день.
_>Нужно из существующего проекта на C++ вытащить модуль.
_>Проект большой и реализован так, что проще убрать лишнее, чем вытащить необходимое. Все очевидно лишнее я убрал руками -- программа исполняет только нужный модуль, теперь нужен софт, который бы как-нибудь выделил неиспользуемые\недостижимые участки кода (отдельные функции, члены и методы классов)
_>Существует что-нибудь подобное?
SourceNavigator (для Юникс). Когда смотришь вызовы функции (вниз и вверх), может сказать, что вызовов вверх нет.
А еще можно функции комментировать, и смотреть, ругается ли линкер

Наверное этот процесс можно автоматизировать
Здравствуйте, 3ka5_cat, Вы писали:
_>Нужно из существующего проекта на C++ вытащить модуль.
_>Проект большой и реализован так, что проще убрать лишнее, чем вытащить необходимое. Все очевидно лишнее я убрал руками -- программа исполняет только нужный модуль, теперь нужен софт, который бы как-нибудь выделил неиспользуемые\недостижимые участки кода (отдельные функции, члены и методы классов)
_>Существует что-нибудь подобное?
Ну например, в Visual Studio есть неплохой инструмент для инструментовки кода, он же
профайлер, он же code coverage tool. Тестируемое приложение нужно собрать с ключом /PROFILE
компоновщика, затем в Visual Studio Command Prompt выполнить что-то вроде:
vsinstr.exe myprogram.exe /Coverage
Получаем сообщение о том, что исполняемый файл myprogram.exe был успешно проинструментирован.
Затем из той же консоли запускаем vsperfcmd:
vsperfcmd.exe /start:coverage /output:my-instr-file
Все, теперь можно запускать приложение. После его завершения следует
завершить сессию vsperfcmd:
vsperfcmd.exe /shutdown
В результате будет сформирован файл отчета (my-instr-file.coverage), который можно открыть в
той же "Студии" и увидеть, какие функции и строки кода вызывались, а какие нет.
Приложение можно запускать несколько раз, указывая разный output-файл, а затем
смержить результаты, чтобы получить суммарные данные по всем веткам кода.