Очистка проекта VC ++ 6 - PullRequest
       28

Очистка проекта VC ++ 6

1 голос
/ 13 сентября 2011

Я работаю с очень старым и большим проектом VC6 ++, и он все испортил.Повсюду есть неиспользуемые файлы и папки, копии папок, и это просто беспорядок, чтобы вычистить его вручную в его текущем состоянии.

Это будет сделано в конце концов, но есть ли простой способ проверить, какие файлы ипапки используются, когда он выполняет чистую компиляцию?

Настройки проекта мне совсем не помогают, поскольку он просто использует копии папок и дополнительные каталоги включения.

Есть предложения?

Ответы [ 3 ]

2 голосов
/ 13 сентября 2011

Что ж, если вы хотите проанализировать вывод компилятора, вы можете узнать, какие файлы фактически используются. Я также нахожу это , когда гуглял, вы можете попробовать (я сам не пробовал). Мой способ - очистить сборку, перечислить все исходные файлы, собрать и для каждого источника найти соответствующий .obj. Те, которые без .obj не используются. Обратите внимание, что это работает только для исходных файлов, неиспользуемые заголовочные файлы остаются необнаруженными.

1 голос
/ 13 сентября 2011

VC6 создаст для вас make-файл:

Вы можете использовать сгенерированный make-файл (и связанный файл .dep) в качестве начальногоукажите и отредактируйте его до списка файлов, которые используются в сборке.

Это позволит вам увидеть заголовочные файлы, от которых зависит проект, в дополнение к .c / .cpp / .lib файлы, которые могут отображаться в журнале сборки.Следует иметь в виду, что вы, вероятно, также захотите следить за рабочим пространством .dsw и .dsp и файлами проекта.

Если вы немного любите приключения, вы можетеубедить make-файл действительно скопировать исходные файлы в другое место для вас с соответствующим переопределением определенных макросов и / или зависимостей.Но это, вероятно, будет больше проблем, чем стоит единовременных усилий.

Наконец, есть коммерческий продукт CopyWiz от Kinook Software , который, кажется, имеет функции, которые могутвы ищете (и он поддерживает VC ++ 6).Примечание: я не уверен, что он будет делать то, что вы хотите, но это может стоить посмотреть.

0 голосов
/ 13 сентября 2011

Да.Запустите Process Monitor из SysInternals.Он может перехватывать все события файловой системы и фильтровать их по пути и другим факторам.

Итак, установите фильтр на корень вашего исходного дерева, только успешное чтение файла (VC ищет заголовки во многих местах)и построить свой проект.Вы, вероятно, все еще увидите несколько тысяч событий.Поэтому сохраняйте их в файл, сортируйте по пути и удаляйте повторяющиеся пути (особенно в заголовках будет много повторяющихся записей)

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