#python #c #static-analysis #static-code-analysis #cppcheck
Вопрос:
Я получаю сообщение об cppcheck: No C or C source files found.
ошибке, даже если соответствующий файл присутствует в каталоге, в котором я выполняю поиск.
Это команда, которую я выполняю:
subprocess.call('cppcheck --dump --max-ctu-depth=0' cpp_file_path, shell = True)
В котором я хочу создать файл дампа и подавить любой более глубокий анализ программы (вот почему N=0
в --max-ctu-depth=N
). Каталог, в который я также захожу, cpp_file_path
содержит чуть более 10 000 файлов. Есть ли флаг, который я могу использовать с утилитой cppcheck, чтобы убедиться, что она выполняет поиск по всему каталогу? Почему должна появиться ошибка, если этот файл .cpp присутствует в указанном каталоге? Я несколько раз подтверждал, что эти файлы действительно существуют.
Комментарии:
1.
=0' cpp_file_path
разве для этого не нужно место?2. О боже мой. Это была такая глупая ошибка, которую я смог найти даже после нескольких часов изучения своего кода. Я просто перезаписал свой код, и теперь он проходит проверку большего количества файлов… Я обновлю, если возникнут еще какие-либо проблемы!
3. Я рекомендую не складывать вопросы в вопросы. Это приводит к действительно плохим вопросам. Если вы хотите вернуться к этому вопросу и превратить его в полезный вопрос, я бы сначала удалил его. Подождите слишком долго, и он будет закрыт как опечатка, и после этого вы ничего не сможете с ним сделать.
Ответ №1:
Ты прошел:
cppcheck --dump --max-ctu-depth=0cpp_file_path
Предпочитайте использовать shell=False
и передавать массив. Это также защитит вас от имени файла с пробелами.
subprocess.call(['cppcheck', '--dump', '--max-ctu-depth=0', cpp_file_path])