У меня есть дерево исходных текстов для программы, над которой я работаю, которая написана в смешанном коде C / C ++. В целях отладки я хотел бы иметь возможность запускать инструмент командной строки, как unifdef
на всем дереве (рекурсивно), чтобы удалить определенный набор #ifdef/#endif
макросы из всех исходных файлов.
Мне было интересно, есть ли какой-то конкретный способ сделать это эффективным способом. Любая помощь будет оценена, спасибо.
Я решил эту проблему с помощью следующей команды:
find . -name '*.c' -o -name '*.h' -o -name '*.cpp' -o -name '*.hpp' -exec unifdef <macro definitions> -o '{} {} ;'
Других решений пока нет …