У меня есть большой объем рукописного исходного кода C++ (например, WebKit и другой открытый исходный код).
Я хочу инструмент, который будет:
- Let me see the inter-class relationships for each and any class:
- Containment relationships: i.e. which other classes contain this class, or are contained by it (the header files declare templated smart pointer types as member data)
- Объявленные зависимости (т. е. использование типа в сигнатурах методов, хотя я могу это довольно хорошо увидеть, используя «найти в файлах»)
- Иерархии подклассов и суперклассов
- Работайте в Windows или Linux (или даже в веб-решении)
- Желательно иметь пользовательский интерфейс (или это слишком много?)
- Необязательно быть плагином в IDE
В отличие от связанного с этим вопроса, C++ to UML (обратный инжиниринг/циклический инжиниринг), мне НЕ нужно:
- Разобрать определения/реализации (файлы cpp и c)
- Поддержка редактирования или «обхода» источника
Вместо этого будет достаточно разбора объявлений типов в заголовках приложения и системы (включая типы шаблонов и определения типов). У меня есть списки всех файлов заголовков.
Я бы предпочел, чтобы он мог обрабатывать определения препроцессора (особенно #include и #if), но я могу выполнить предварительную обработку, если это необходимо; и/или дайте ему make или файлы проекта в различных форматах.
"reverse engineer c++" ide or tool
- person ChrisW   schedule 29.11.2011