Это снова вопрос типа "как это сделать правильно". Извините, если кто-то раздражен.
Мне нужно понять около 150 TLOC смеси C / C ++. Я импортировал код в UML-Tool "Enterprise Architect" и получил беспорядочную диаграмму. Многие структуры и перечисления имели анонимные имена из-за этих конструкций в стиле Си: typedef struct / enum {...} MyType;
Во втором прогоне я преобразовал его в форму C ++: struct / enum MyType {...};
, но получил кучу несвязанных структур. К сожалению, Enterprise Architect не разрешает typedef. например, никакие отношения между A, B и C не были распознаны:
struct A;
struct B;
typedef A *PtrA;
typedef List<B> BList;
struct C{ PtrA pA; BList lB; };
Благодаря общему соглашению об именах я смог заменить все typedef на исходный тип следующим образом:
struct C{ A pA; B lB; };
Теперь импорт исходного кода в "Enterprise Architect" дал хороший диаграмма со всеми отношениями. Конечно, код не компилируется, и это не то же самое. Все изменения в коде требуют утомительного преобразования, чтобы этот «псевдокод» снова стал понятен EA. Поэтому мои вопросы:
Большое спасибо за любой совет! Valentin Heinitz