CppCommentRemover - это портативное приложение, которое позволяет удалять комментарии из исходного кода C / C ++.
Автор был мотивирован отчасти своей работой со средним и большим размером стороннего кода (pjsip, baresip), он был написан, чтобы помочь в сравнении исходного кода различных версий проектов. Он отмечает, что одна раздражающая вещь - это теги CVS в исходном коде pjsip, так как после того, как код зарегистрирован, а затем извлечен из репозитория, они расширяются / переписываются, создавая различия в каждом отдельном файле. Уведомления об авторских правах также раздражают, так как они часто могут быть одной деталью, меняющейся между версиями программного обеспечения разных лет.
CppCommentRemover поможет рекурсивно обрабатывать файлы из выбранной папки, удаляя комментарии, содержащие выбранные строки или все комментарии, а также сохраняя временные метки файлов (по умолчанию) - оригинальные временные метки облегчают сравнение источника. Файлы обрабатываются на месте (перезаписываются) - убедитесь, что они не работают с основной копией данного проекта.
CppCommentRemover был протестирован на проектах, основанных как на pjsip (300+ kLOC), так и на baresip, но обработка некоторых редко используемых языковых конструкций опущена (продолжение внутри однострочных комментариев). Этот факт может вызвать неожиданность, если исходный код недействителен (синтаксические ошибки). Выражения препроцессора также не оцениваются, поэтому текст из блоков "# if 0" обрабатывается, и у него больше шансов вызвать непредвиденное поведение, так как он может содержать закрытый комментарий блока.